gpt4 book ai didi

java - 如果数据库更改,如何更新 Hibernate

转载 作者:搜寻专家 更新时间:2023-10-30 19:47:44 29 4
gpt4 key购买 nike

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

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

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

编辑:我的意思是直接更改数据库并在 Java 代码中反射(reflect)这些更改。抱歉,我不是很清楚,因为我不知道还有其他方法。

最佳答案

您可以让 Hibernate 在您运行项目时更新您的数据库架构,方法是将此行添加到您的 hibernate.cfg.xml:

<property name="hibernate.hbm2ddl.auto">update</property>

汽车属性的选项:

  1. create - 它创建对应映射或注释的新表。它会删除现有的表和数据。
  2. update - 它保留现有数据和表格。它更新架构。在这里我们必须注意契约(Contract)。
  3. create-drop - 它与 create 相同,但一旦 session 关闭,它就会丢弃所有内容。
  4. validate - 它验证模式或将模式与 map 或注释匹配。它适用于生产环境。

如果您想从您的数据库生成 .xml 映射,您可以使用带有 Hibernate 工具的反向 JDBC 来完成。您只需要指定您的数据库连接信息。

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

Reverse JDBC with Hibernate Tools

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

关于java - 如果数据库更改,如何更新 Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37369869/

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