我有一张名为Person的表格,已经在Hibernate中进行了映射,并且已经存在一些数据,我不想失去这些数据。我需要添加一个名为address的新列,你知道如何在Hibernate中实现吗?
提前感谢您的帮助。
提前感谢您的帮助。
hibernate.hbm2ddl.auto
属性设置为update
,当下一次构建SessionFactory
时,Hibernate会自动创建此列。当hibernate.hbm2ddl.auto
为update
时,Hibernate不会更改数据库中存储的任何数据。<property name="hibernate.hbm2ddl.auto" value="create-drop" />
只需将值更改为“validate”,对映射进行更改,然后单独执行ALTER TABLE语句即可。
另一种选择是使用“update”来让Hibernate自动更新表结构。我建议您自己掌握并手动执行DDL SQL。
在将hibernate.hbm2ddl.auto
设置为update
之前,您还应该阅读这个SO问题/答案:Hibernate: hbm2ddl.auto=update in production?。