大家好,我是持久/hibernate的新手,需要您的帮助。
这是情况。我有一个包含一些东西的表。我们称它们为“人”。我想从该表中的数据库中获取所有条目。
我有一个Person类,它是一个简单的POJO,具有表中每个列的属性(名称,年龄,..)
这是我所拥有的:
Query lQuery = myEntityManager.createQuery("from Person") List<Person> personList = lQuery.getResultList();
但是,我收到一条警告,说这是从List到的未经检查的转换List<Person>
List
List<Person>
我认为只需将代码更改为
Query lQuery = myEntityManager.createQuery("from Person") List<Person> personList = (List<Person>)lQuery.getResultList();
会工作..但是没有。
有没有办法做到这一点 ?持久性是否允许我设置查询的返回类型?(也许通过泛型?)
作为JPA的新手,他将其作为确定的答案,但随后我通过以下问题找到了一个更好的答案:为什么在JPA中,EntityManager查询会抛出NoResultException而find却没有?
就像使用TypedQuery代替Query一样简单,例如:
TypedQuery<Person> lQuery = myEntityManager.createQuery("from Person", Person.class); List<Person> personList = lQuery.getResultList();