0

我目前正在使用 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"
4

2 回答 2

1

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

于 2012-01-11T16:03:01.547 回答
0

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

于 2012-01-09T22:31:28.023 回答