如何分配JPQL查询到一个简单的Java对象?
题
我需要分配JPQL结果的简单类java对象的结果
我有这样的事
class myObject() {
@id
private Long id;
private String Name;
private String description;
...
//getters and setters
}
我需要以某种方式存储此SQL查询的结果,例如
//可以anytable SELECT DISTINCT c.table_id,c.name,NULL AS描述FROM anyTable
我如何做到这一点的JPQL,然后将结果分配给我的对象?
解决方案
的问题是非常不清楚。因此,这里是一个模糊的回答:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("MyPu");
EntityManager em = emf.createEntityManager();
Query q = em.createQuery("select f.id, f.name from Foo f");
List<Object[]> foos = (List<Object([]>)q.getResultList();
MyObject o = new MyObject();
o.setFoos(foos);
其他提示
我想,这就是答案!
SELECT NEW entities.PersonWell(c.peopleId, c.name, c.age, c.height, c.weight)
FROM
People AS c;
和它的entities.PersonWell类的构造函数:
public PersonWell(Integer peopleId, String name, short age, short height, short weight, short speechspeed) {
this.peopleId = peopleId;
this.name = name;
this.age = age;
this.height = height;
this.weight = weight;
this.speechspeed = speechspeed;
}
有用于结果的提取一些代码:
List<PersonWell> resultList = query.getResultList();
我希望,它会帮助你的! :)
不隶属于 StackOverflow