我想获得一个特定的" Type"喜欢"人"从我的JPAConnector.class通过SQL查询(executeQuery方法)。
一切正常,但是如果我没有使用类似&#34;来自Person p&#34;的SELECT p的SQL查询。得到所有,例如</ p>
SELECT p.name,p.age from Person p
然后我得到一个Resulttype Object[]
而不是Person[]
我知道,如果我不使用每个字段,那么我的对象不是来自Person,而是如果我执行这样的查询
SELECT p.name AS Name, p.age AS Age, p.location AS Location FROM Person p
然后我没有得到一个Person对象,尽管我使用了Person的所有字段。
我希望你理解我的问题,我的英语不好。对不起,我很抱歉。
问候 雷
编辑:我的问题的背景是,我想平均所有列,其中ID列重复...但这与我的问题没有任何关系......(仅用于了解)< / p>
答案 0 :(得分:1)
您可以使用构造函数查询来获得所需的结果。
SELECT new Person(p.name, p.page) from Person p
确保您的Person实体具有构造函数
public Person(String name, int age){}
答案 1 :(得分:0)
使用实体管理器
在JPA中使用如下所示TypedQuery<Country> query =
em.createQuery("SELECT p FROM Person p", Person.class);
List<Person> results = query.getResultList();
then you can access each attribute easily using person as below
for (Person p : results) {
System.out.println(p.getName());
//other attributes access
}