Hibernate读取但不写入数据库。在内存中很好

时间:2018-06-29 00:49:16

标签: hibernate

我已经将Hibernate5 / Oracle12c Web应用程序从Glassfish 4迁移到了Tomcat 9。

只要Tomcat正在运行,该应用程序就可以运行。它从数据库中读取预先存在的数据并正确显示。它允许创建新数据。它允许编辑数据。如果启动第二个浏览器,则会看到新的和编辑的数据。

但是,当我关闭Tomcat并重新启动它时。所有新记录和编辑后的数据均已消失,仅存在新的读取。我是Hibernate的新手,所以它可能很简单,但是通过搜索找不到任何帮助。

1 个答案:

答案 0 :(得分:0)

请检查代码中的 hibernate.ddl-auto 设置。看来您正面临 create-drop 的局面。

  

hibernate.hbm2ddl.auto自动验证或导出模式DDL   创建SessionFactory时将其添加到数据库。通过create-drop,   关闭SessionFactory时将删除数据库架构   明确地。

     

例如验证更新|创建|创建拖放

所以可能的选项列表是

  • validate:验证架构,不对数据库进行任何更改。
  • 更新:更新架构。
  • 创建:创建架构,破坏先前的数据。
  • create-drop:在显式关闭SessionFactory时(​​通常是在应用程序停止时)删除架构。