【发布时间】:2020-11-02 04:27:03
【问题描述】:
我已经使用 MVC 模式和 Hibernate 构建了一个 Web 应用程序。我正在尝试使用以下属性配置我的休眠以为我的类创建模式
<property name="hibernate.hbm2ddl.auto">create</property>
但是,我发现这会删除以前的现有架构并在每次应用程序运行时重新创建架构。无论如何,我是否将我的休眠配置为仅在我的第一次应用程序运行时创建模式,而对于任何未来的应用程序运行,只需更新现有数据库中的行?
【问题讨论】:
-
试试
<property name="hibernate.hbm2ddl.auto">create</property> -
语法工作正常。但是,每次我停止并重新运行我的应用程序时,它都会删除旧值并重新创建表。有没有办法我可以指示休眠仅在它们不存在时才创建表,否则只需更新其中的行
-
create是创建模式破坏以前的数据。您可以使用update进行更改,前提是它们不存在。其他两个选项是create-drop和none。但不确定这是否是您要求的。 -
但如果我将其设为
update,它不会在我的应用程序的第一次运行时创建任何模式 -
四个可能的值是
create、update、create-drop和validate。不建议在生产环境中使用 create、update 或 create-drop。在您的本地,如果您没有架构,则应先使用create,然后使用update。
标签: java spring hibernate spring-mvc hibernate-mapping