如何在第一次在hibernate中创建数据库模式并在模式修改的情况下进一步更新? [英] How to create database schema in hibernate first time and further update it in case of schema modification?
问题描述
按照这个问题,它看起来像我可以创建架构销毁以前的数据,或者我可以更新架构。
有什么值可以兼得吗?
其实我只是检查了< property name =hibernate.hbm2ddl.autovalue =update/> ;
甚至第一次创建表,然后如果表/模式存在,它会更新。
$ b
更新
属性在启动或添加新模型时适用。您想保留先前保存的实体实例。这是默认的模式创建风格。
如果需要,它会尝试更新模式。支持以下更新:
查看我的一些观察结果
I want to create database schema in hibernate first time. And further, if there is any modification in the schema, like addition of a new table or deletion of some column, I want to update the existing schema keeping the previous data intact.
As per options given at this question, it looks like either I can create schema destroying the previous data, or I can update the schema.
Is there any value which can do both?
Actually I just checked <property name="hibernate.hbm2ddl.auto" value="update" />
is even creating tables for the first time and then later if table/schema exist it does update.
Update
property is applicable when starting or adding a new model. You want to retain the earlier saved entity instances. This is the default schema creation style.
It tries to update the schema, if required. The following updates are supported:
See some of my observations
- Add a field - A new column is added to the table.
- Rename a field - A new column is added to the table, while the original column remains but is not used any longer. Note: The data from the old column is not migrated to the new column.
- Remove a field - The column remains but is not used.
- Change a field type - The type of the column does not change, which may result in type-mismatch exceptions.
- Create an entity - Creates a new table.
- Rename an entity - Creates a new table, while the original table remains.
- Move an entity to another folder - Creates a new table, while the original table remains.
- Delete an entity - The table remains.
这篇关于如何在第一次在hibernate中创建数据库模式并在模式修改的情况下进一步更新?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!