这篇文章主要围绕JavaHibernate:hbm2dl.auto=在生产中更新?和javaupdate更新展开,旨在为您提供一份详细的参考资料。我们将全面介绍JavaHibernate:hbm2dl
这篇文章主要围绕Java Hibernate:hbm2dl.auto=在生产中更新?和java update更新展开,旨在为您提供一份详细的参考资料。我们将全面介绍Java Hibernate:hbm2dl.auto=在生产中更新?的优缺点,解答java update更新的相关问题,同时也会为您带来hibernate hbm2ddl.auto 问题、Hibernate hbm2ddl.auto配置的可能值是什么,它们做了什么、Hibernate hbm2ddl.auto默认值、Hibernate hbm2ddl.auto,可能的值以及它们的作用的实用方法。
本文目录一览:- Java Hibernate:hbm2dl.auto=在生产中更新?(java update更新)
- hibernate hbm2ddl.auto 问题
- Hibernate hbm2ddl.auto配置的可能值是什么,它们做了什么
- Hibernate hbm2ddl.auto默认值
- Hibernate hbm2ddl.auto,可能的值以及它们的作用
Java Hibernate:hbm2dl.auto=在生产中更新?(java update更新)
是否可以hbm2ddl.auto=update在生产环境中运行配置有更新数据库架构的Hibernate应用程序?
答案1
小编典典这是不安全的。
尽管Hibernate团队做出了最大的努力,但您根本不能依靠生产中的自动更新。编写自己的补丁程序,使用DBA对其进行审核,对其进行测试,然后手动进行应用。
从理论上讲,如果hbm2ddl update在开发中起作用,那么它也应在生产中起作用。但实际上,并非总是如此。
即使工作正常,也可能不是最佳选择。DBA之所以得到这么多是有原因的。
hibernate hbm2ddl.auto 问题
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="create" />
validate 加载 hibernate 时,验证创建数据库表结构
create 每次加载 hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop 加载 hibernate 时创建,退出是删除表结构
update 加载 hibernate 自动更新数据库结构
当使用注释时候:
mysql
@Column(name="`order`", columnDefinition="int default ''0''")
columnDefinition 必须写完整,否者不报错也不生成
order 是关键字,必须用 ` 包起来
Hibernate hbm2ddl.auto配置的可能值是什么,它们做了什么
问题:
I really want to know more about the update, export and the values that could be given to hibernate.hbm2ddl.auto
我真的想知道更多关于更新,导出和可以给hibernate.hbm2ddl.auto
的值的更多信息
I need to know when to use the update and when not? 我需要知道何时使用更新,何时不知道? And what is the alternative? 还有什么选择?
These are changes that could happen over DB: 这些是可能发生在DB上的变化:
- new tables 新表
- new columns in old tables 旧表中的新列
- columns deleted 列已删除
- data type of a column changed 列的数据类型已更改
- a type of a column changed its attributes 列的类型更改了其属性
- tables dropped 桌子掉了
- values of a column changed 列的值已更改
In each case what is the best solution? 在每种情况下,最佳解决方案是什么?
解决方案:
参考一: https://stackoom.com/question/1pys/Hibernate-hbm-ddl-auto配置的可能值是什么-它们做了什么参考二: https://oldbug.net/q/1pys/What-are-the-possible-values-of-the-Hibernate-hbm2ddl-auto-configuration-and-what-do-they-do
Hibernate hbm2ddl.auto默认值
的默认值是多少
hibernate.hbm2ddl.auto
在hibernatecfg文件映射中
是否可以删除
<property name="hibernate.hbm2ddl.auto">update</property>
从配置文件映射
如果我删除此属性是否会影响我的数据库
???
答案1
小编典典创建SessionFactory时,自动将架构DDL验证或导出到数据库。使用create-drop时,显式关闭SessionFactory时将删除数据库架构。
validate | update | create | create-drop
- 验证现有模式
- 更新-创建后仅更新您的架构
- 每次创建-创建架构
Hibernate hbm2ddl.auto,可能的值以及它们的作用
我正在查看Hibernate hbm2ddl.auto
配置属性及其可能的值:
validate
update
create
create-drop
所有这些值做什么?
在Hibernate参考文档只是简单地谈论有关create-drop
,但并没有说明其他任何值:
hibernate.hbm2ddl.auto
SessionFactory
创建时,自动将模式DDL验证或导出到数据库。使用时create-drop
,当SessionFactory
明确关闭时,将删除数据库模式。例如
validate
|update
|create
|create-drop
我在这些堆栈溢出问题中找到了 非常 有用的解释:
- Hibernate hbm2ddl.auto可能的值及其作用是什么?
- 模式未放在hbmddl.auto = create.drop上
但是官方文档中仍然没有任何内容。
答案1
小编典典您提供的链接已经是官方文档。因此,今天没有比这更正式和更全面的了。
因此,我想您的问题的答案有两个:
- 要么在Hibernate问题跟踪器中提交增强请求(最好使用提案)
- 或阅读相应的代码
我知道这不是您梦dream以求的完美答案,但这实际上是您今天拥有的全部。
但是好消息是该项目是开源的,因此您有所有需要改善的地方:-)。
今天的关于Java Hibernate:hbm2dl.auto=在生产中更新?和java update更新的分享已经结束,谢谢您的关注,如果想了解更多关于hibernate hbm2ddl.auto 问题、Hibernate hbm2ddl.auto配置的可能值是什么,它们做了什么、Hibernate hbm2ddl.auto默认值、Hibernate hbm2ddl.auto,可能的值以及它们的作用的相关知识,请在本站进行查询。
本文标签: