【发布时间】:2023-04-02 12:20:01
【问题描述】:
根据最新的Hibernate docs section 17.3,这应该可以:
List<Person> persons = session.createNativeQuery(
"SELECT * FROM Person", Person.class)
.getResultList();
我有一个几乎相同的查询,但我遇到了一个异常:
java.sql.SQLException: Invalid object name 'Person'
我正在使用 hibernate-core-5.2.10.FINAL。 单步执行源代码后,它永远不会像普通 HQL 查询那样分支查看实体图。
还有人看到这个吗?我可以为好奇的人发布更多详细信息,并会在我继续调试时添加更多内容...
我在将 Hibernate 降级到 5.0.12 后运行了相同的查询,结果相同。虽然,在 Hibernate 5.0 中,会话中没有“nativeQuery”方法,但它是“createSQLQuery”,它创建了一个“SQLQuery”对象。 Hibernate 5.0 Users Guide section 17.3 也是这么说的:
List<Person> persons = session.createSQLQuery(
"SELECT * FROM person" )
.addEntity( Person.class )
.list();
【问题讨论】:
-
也许可以分享查询。几乎相同是有点矛盾......
-
真的!致力于在旧版本的 Hibernate 中进行复制。可能我正在尝试做一些从未被支持的事情。我会尽快发布更多细节。不过感谢您的评论。
标签: java hibernate hql hibernate-native-query