如何从现有的数据库中正确实现Hibernate?

时间:2016-10-27 13:51:22

标签: java mysql hibernate jpa

我正在尝试使用现有Mysql数据库中的JPA / Hibernate创建一个新的Play应用程序。

持久性文件中的

hibernate.hbm2ddl.auto设置为“update”。

我的帖子帖子有6个条目。 问题是当我执行像"SELECT p FROM Posts p"这样的HQL语句时,我得到一个空结果,而如果我执行像"SELECT * FROM posts"这样的本机查询,我就得到了现有的条目。

我认为我在这里遗漏了一些巨大的东西,比如hibernate的内部缓存系统或其他东西,是否有类似的东西可以解释这个空洞的结果? 当从现有数据库使用时,Hibernate是否必须构建一些特定的缓存,以便它使用HQL语句返回正确的结果?为什么需要这样的东西?

1 个答案:

答案 0 :(得分:1)

  

我的帖子帖子有6个条目。问题是当我执行像“SELECT p FROM Posts p”这样的HQL语句时,我得到一个空结果,而如果我执行像“SELECT * FROM posts”这样的本机查询,我得到了现有的条目。

这听起来像你必须定义从mysql表到jpa实体的映射。您可以使用hibernate工具自动生成它们(比如查看示例here如何使用Eclipse插件执行此操作)。

之后您应该从查询中获得一些结果,Hibernate将在此过程中填充其缓存。