我目前正在使用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中,我可以包含hibernate属性吗?
property name="hibernate.hbm2ddl.auto" value="update"
答案 0 :(得分:1)
EclipseLink(自2.3.2起)不支持DDL更改现有表以添加缺少的字段。请参阅功能请求https://bugs.eclipse.org/bugs/show_bug.cgi?id=368365
答案 1 :(得分:0)
不,您只能使用标准jpa属性或持久性提供程序的属性(在您的情况下为EclipseLink)。我相信here你会找到答案。