使用Hibernate工具更新架构

时间:2012-01-09 22:23:49

标签: eclipselink database-schema hibernate-tools

我目前正在使用EclipseLink JPA,在我的persistence.xml文件中,我有这个属性集

<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>

当前设置为每次运行时删除并创建表的value字段导致我的测试数据被删除。遗憾的是,EclipseLink不支持update架构属性,该属性与项目中实体的任何更改都集成在一起。我在某处读过,Hibernate-tools可以用来更新数据库模式而不删除当前记录吗?

我试过这个属性

 <property name="eclipselink.ddl-generation" value="create-tables"/>

虽然它保留了我的数据,但它不会更新表模式。

在我的persistence.xml中,我可以包含h​​ibernate属性吗?

 property name="hibernate.hbm2ddl.auto" value="update"

2 个答案:

答案 0 :(得分:1)

EclipseLink(自2.3.2起)不支持DDL更改现有表以添加缺少的字段。请参阅功能请求https://bugs.eclipse.org/bugs/show_bug.cgi?id=368365

答案 1 :(得分:0)

不,您只能使用标准jpa属性或持久性提供程序的属性(在您的情况下为EclipseLink)。我相信here你会找到答案。