如果数据库发生变化如何更新 Hibernate

AFP*_*555 5 java database hibernate

例如,我创建了 hibernate.cfg.xml 并自动生成了类(hbm.xml)。

如果我意识到需要从数据库中修改、添加或删除某些内容,通常我必须手动更改数据库,然后也手动更改 hbm.xml 的源代码。

有没有一种方法可以更新而不需要删除代码并重新生成或手动修改代码?

编辑:我的意思是直接更改数据库并反映 Java 代码中的这些更改。抱歉,我不太清楚,因为我不知道还有另一种方法。

Eli*_*cia 4

当您运行项目时,您可以通过将此行添加到您的hibernate.cfg.xml

<property name="hibernate.hbm2ddl.auto">update</property>
Run Code Online (Sandbox Code Playgroud)

汽车属性选项:

  1. create- 它创建对应映射或注释的新表。它会删除现有的表和数据。
  2. update- 它保留现有的数据和表格。它更新架构。在这里我们必须照顾病人。
  3. create-drop- 它与创建相同,但是一旦会话关闭,它就会删除所有内容。
  4. validate- 它验证模式或将模式与地图或注释进行匹配。它对生产环境有效。

如果您想从数据库生成 .xml 映射,您可以使用反向 JDBC 和 Hibernate Tools 来实现。您只需要指定您的数据库连接信息。

这个页面有一个很好的例子:

使用 Hibernate 工具反向 JDBC

你可以选择任何你想要的,但第一个选项更好、更便携、更容易使用。