当前位置: 首页 > 面试题库 >

休眠:hbm2ddl.auto =正在生产中更新?

谢运良
2023-03-14
问题内容

是否可以hbm2ddl.auto=update在生产环境中运行配置有更新数据库架构的Hibernate应用程序?


问题答案:

不,这是不安全的。

尽管Hibernate团队做出了最大的努力,但是您根本不能依靠 生产中的
自动更新。编写自己的补丁程序,使用DBA对其进行审核,对其进行测试,然后手动应用它们。

从理论上讲,如果 hbm2ddl更新开发中起作用,那么它也应在生产中起作用。但实际上,并非总是如此。

即使工作正常,也可能不是最佳选择。DBA之所以得到这么多报酬是有原因的。



 类似资料:
  • 问题内容: 我试着通过网络搜索,但是徒劳。有没有一种方法可以使用hibernate来执行幂等更新。 一种用例是使用HTTP PUT通过REST API更新数据库中的特定字段。因此,例如,如果我有一个包含列: _ Id,Name,Phone,UpdateDate*_ 的数据库 _ ,_ 并且我多次用相同的值更新(特定 ID的 ) Phone ( 电话) 字段,那么只有我的第一个操作必须更新 Phon

  • 问题内容: 任何人都知道一些有关如何为hibernate创建自定义ID生成器的好教程吗? 问题答案: 在Google上粗略搜索“hibernate自定义ID生成器教程”,发现了以下可能性。我排除了那些看起来没有用的内容,并总结了它们的内容。 http://www.devx.com/Java/Article/30396-涵盖了在数据保留之前生成ID(因此还没有业务密钥)的问题。 http://doc

  • 问题内容: 我有以下HQL: 是否可以在HQL中更新多于一列的数据?例如: 我知道如何在MSSQL中做到这一点,但我不知道如何在Hibernate中做到这一点。 问题答案: 在这种情况下,HQL与SQL相同。只需使用逗号分隔各列:

  • 问题内容: 我知道,如果没有其他具有相同ID和类型的对象附加到会话中,则使用update会将分离的对象置于持久状态。合并不关心状态。如果会话中不存在相同类型的持久对象,或者它使用新对象的值更新旧对象,则它只会返回该对象。我的问题是关于数据库命中的问题。方法“更新”和“合并”是否立即击中数据库?或关闭会话后,数据库中的更改显而易见。 编辑:如果我们通过save方法在持久化实例上调用update方法会

  • 问题内容: 在我的Java应用程序中,我正在使用hibernate .hbm文件访问数据库。是否可以更新表中的主键“ id”列;我的.hbm文件中的“ id”列如下所示: 问题答案: 尝试这个: 或只使用sql:

  • 问题内容: 我有这部分的hibernate映射xml文件,我一直在寻找原生含义的好例子。 我知道这与唯一标识符属性有关,但是我真的很想举个例子。 对不起,对于新手问题,我是新来的休眠和一般编程:)谢谢! 问题答案: 本机意味着您的生成器将根据您当前的数据库支持使用身份或序列列。 Docs在这里解释了每种策略 http://docs.jboss.org/hibernate/orm/3.3/refer