Hibernate hbm2ddl.auto配置的可能值是什么,它们做什么? [英] What are the possible values of the Hibernate hbm2ddl.auto configuration and what do they do

查看:295
本文介绍了Hibernate hbm2ddl.auto配置的可能值是什么,它们做什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的很想了解更多有关更新,导出以及可以提供给hibernate.hbm2ddl.auto
的值的信息. 我需要知道何时使用更新,何时不使用?还有什么选择呢?

I really want to know more about the update, export and the values that could be given to 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:

  • 新表
  • 旧表中的新列
  • 列已删除
  • 列的数据类型已更改
  • 一种列的类型更改了其属性
  • 表格已删除
  • 列的值已更改

在每种情况下,最佳解决方案是什么?

In each case what is the best solution?

推荐答案

来自

hibernate.hbm2ddl.auto创建SessionFactory时,自动将模式DDL验证或导出到数据库.使用create-drop可以在显式关闭SessionFactory时删除数据库架构.

hibernate.hbm2ddl.auto Automatically validates or exports schema DDL to the database when the SessionFactory is created. With create-drop, the database schema will be dropped when the SessionFactory is closed explicitly.

例如验证更新|创建|创建拖放

e.g. validate | update | create | create-drop

所以可能的选项列表是

  • validate :验证架构,不对数据库进行任何更改.
  • 更新:更新架构.
  • create :创建架构,破坏先前的数据.
  • create-drop :在SessionFactory显式关闭(通常是在应用程序停止时)时删除架构.
  • :对架构不执行任何操作,不对数据库进行任何更改
  • validate: validate the schema, makes no changes to the database.
  • update: update the schema.
  • create: creates the schema, destroying previous data.
  • create-drop: drop the schema when the SessionFactory is closed explicitly, typically when the application is stopped.
  • none: does nothing with the schema, makes no changes to the database

这些选项似乎旨在作为开发人员的工具,而不是为了促进任何生产级别的数据库,您可能需要查看以下问题; 休眠:hbm2ddl.auto =正在生产中更新吗?

These options seem intended to be developers tools and not to facilitate any production level databases, you may want to have a look at the following question; Hibernate: hbm2ddl.auto=update in production?

这篇关于Hibernate hbm2ddl.auto配置的可能值是什么,它们做什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆