Sql Hibernate创建,don';t更新,don';不要放弃。

Sql Hibernate创建,don';t更新,don';不要放弃。,sql,spring,hibernate,jpa,jpa-2.0,Sql,Spring,Hibernate,Jpa,Jpa 2.0,hibernate orm选项:创建、创建、删除、更新和验证 有没有人说,创建一次,但不要删除或更新 一个选项说,如果不存在就创建,不更新,不删除 您正在查找的create-one-as-as不作为hibernate标志存在。对于您的场景,最好使用外部工具管理数据库的DDL,而不要使用hibernate.hbm2ddl.auto。我可以推荐,它被宣传为DB的源代码控制,并且在使用快速变化的模型处理不同的分支时,它确实很好地支持开发 Liquibase以changeLog.xml文件为中心,该文件

hibernate orm选项:创建、创建、删除、更新和验证

有没有人说,创建一次,但不要删除或更新


一个选项说,如果不存在就创建,不更新,不删除

您正在查找的create-one-as-as不作为hibernate标志存在。对于您的场景,最好使用外部工具管理数据库的DDL,而不要使用
hibernate.hbm2ddl.auto
。我可以推荐,它被宣传为DB的源代码控制,并且在使用快速变化的模型处理不同的分支时,它确实很好地支持开发


Liquibase以changeLog.xml文件为中心,该文件存储应用于数据库的所有更改。因此,当您对模型进行更改时,将生成一个diff,从而为changeLog.xml生成xml条目。底层数据库跟踪应用的更改,因此您可以重新创建、应用更新、生成迁移SQL、清空数据库或保持原样,由您控制

下面是一个现有的讨论,总结了hibernate.hbm2ddl.auto的选项

使用Hibernate单独管理物理数据库层的商店很常见,例如使用DBA直接运行的SQL DDL脚本,而不允许Hibernate工具修改数据库模式。如果您仍然希望Hibernate为您运行这些,可以使用Hibernate.hbm2ddl.import_files选项通过提供自定义脚本文件手动调整DDL操作


在您的情况下,如果希望让ORM指定PHSYIC模型,而不是相反,您可以将hbm2ddl.auto保留为“update”。另一个选项是使用实体映射或元数据(注释)作为指导输入,以编程方式生成hibernate.hbm2ddl.import_文件中引用的脚本文件

我必须为此编写自己的解决方案。这在使用hibernate或jpa时是不可能的。

我只想启动并运行,只想创建一个该死的数据库,而不需要进行任何修改,从创建开始,然后手动关闭它。在hibernate.hbm2ddl.auto create一节中提到了一个选项。但不仅仅是使用“create”,然后切换到“none”,或者在有数据库的时候将其留空。是的,这正是我不想做的。我不想启动应用程序,关闭它,进入生产中的一些随机文件,更改它,然后再次启动它。如果我以后需要删除它,我必须a)手动删除数据库,然后重复这个f***g步骤,两次!我会推荐@ITGYUSTH下面所说的内容,或者你可以使用“创建”,然后一旦实体被创建,将其设置为“无”。@AbdullahShaikh,那么你应该向他检查我的答案。这就是它的优点。我不想更新它。我只是希望它可以方便地创建,但不能删除或更改。奇怪的是,没有人认为这是一个可能的用例。总有一天我会研究import_files选项,但现在我只想将war发送到服务器,并点击run、shutdown、run、shutdown run,任意次数,而不改变表、删除或其他任何内容。我明白了。只需将其保留为none或validate即可,如果存在模型更改,则自己手动进行更改。如果没有更改,保留为“无”将大大缩短服务器启动时间。我希望它只是创建dabatase。我现在必须通过程序检查这个家。