我正在手动定义 sql 模式并在其之上使用 JPA 2.0 来使用该模式。我不允许 JPA 为我的应用程序生成/创建 andy 模式。在这样做的同时,我在下面提到的属性中使用了休眠之前
<property name="hibernate.hbm2ddl.auto" value="validate"/>
用于根据定义的 JPA 验证表定义是否有效,如果不是,则应用服务器在发现表和 JPA 之间不匹配时没有出现。
现在我正在移动到 Eclipse 链接,我有
<property name="eclipselink.ddl-generation" value="none" />
所以 Eclipse 链接再次没有生成任何模式,但似乎没有与我们在休眠中的验证等效。
如果我的 JPA 定义了一个额外的列并且表没有定义,那么 Web 应用程序也可以正常运行,只有当表的第一次插入发生时,验证失败并抛出异常,如图所示。
Caused by: java.sql.SQLSyntaxErrorException: 'OTHERNAME' is not a column in table or VTI 'APP.BSREQUEST'.
如何让 Web 应用程序持久性检查并验证启动期间是否正确,而不是等待第一次插入/删除发生时。
是否有相当于我可以使用的 eclipse 链接。
我尝试使用它,但这并没有帮助,验证仍然发生在第一次持久/删除操作期间。
<property name="eclipselink.orm.validate.schema" value="true"/>
有人对此有好主意吗?