gpt4 book ai didi

Java 持久性 : Cast to something the result of Query. getResultList()?

转载 作者:IT老高 更新时间:2023-10-28 21:02:10 26 4
gpt4 key购买 nike

大家好,我是persistence/hibernate的新手,我需要你们的帮助。

情况是这样的。我有一张 table ,里面有一些东西。让我们称他们为人。我想从该表中的数据库中获取所有条目。

我有一个 Person 类,它是一个简单的 POJO,表中的每一列都有一个属性(姓名、年龄、..)

这就是我所拥有的:

Query lQuery = myEntityManager.createQuery("from Person")
List<Person> personList = lQuery.getResultList();

但是,我收到警告说这是来自 List 的未经检查的转换。至List<Person>

我以为只要把代码改成

Query lQuery = myEntityManager.createQuery("from Person")
List<Person> personList = (List<Person>)lQuery.getResultList();

会工作..但它没有。

有没有办法做到这一点?持久性是否允许我设置查询的返回类型? (可能通过泛型?)

最佳答案

作为 JPA 的新手,我认为这是明确的答案,但后来我通过这个问题找到了一个更好的答案:Why in JPA EntityManager queries throw NoResultException but find does not?

就像使用 TypedQuery 而不是 Query 一样简单,例如:

TypedQuery<Person> lQuery = myEntityManager.createQuery("from Person", Person.class);
List<Person> personList = lQuery.getResultList();

关于Java 持久性 : Cast to something the result of Query. getResultList()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/957394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com