Java 使用EclipseLink进行数据库模式验证

Java 使用EclipseLink进行数据库模式验证,java,eclipselink,Java,Eclipselink,使用EclipseLink/JPA2.0,我无法找到在启动时检查数据库模式的方法。它只能创建或删除并创建表。 当Hibernate.hbm2ddl.auto=validate时,Hibernate会自动执行模式验证,这真的很酷。 有没有机会通过EclipseLink实现这一点?我认为目前还没有persistence.xml选项(请记录一个bug),但您可以通过IntegrityChecker来实现这一点 使用SessionCustomizer在会话上配置IntegrityChecker以检查数据

使用EclipseLink/JPA2.0,我无法找到在启动时检查数据库模式的方法。它只能创建或删除并创建表。 当Hibernate.hbm2ddl.auto=validate时,Hibernate会自动执行模式验证,这真的很酷。
有没有机会通过EclipseLink实现这一点?

我认为目前还没有persistence.xml选项(请记录一个bug),但您可以通过IntegrityChecker来实现这一点


使用SessionCustomizer在会话上配置IntegrityChecker以检查数据库。它将验证表名和列名是否与数据库匹配。

谢谢!现在我试图避免实体类的表不存在时出现异常(因为EclipseLink在我的例子中配置了
EclipseLink.ddl generation=create tables
)。我想知道EclipseLink是否添加了persistence.xml设置来执行此验证检查?正如@ochedru提到的,Hibernate具有这种能力。最近,我发现OpenJPA也有这个功能:OpenJPA.jdbc.SynchronizeMappings=validate