从 1.4.200 升级 H2 版本 2.0.202

sab*_*ula 8 database hibernate h2 spring-jdbc spring-data-jpa

  1. 您好,我们正在尝试从 1.4.200 升级到 2.0.202。我们收到与运行测试相关的错误。在保存数据时,我们遇到了以下错误。有什么建议么?

引起原因:org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException:列“***”不允许为 NULL;SQL语句:

Evg*_*nov 10

您不能将 H2 2.0.202 与 Hibernate ORM 5.6 一起使用,因为H2Dialect在 Hibernate ORM 中为 H2 生成无效 SQL,H2 2.x 的限制更严格,默认情况下不接受它。

H2 2.0.204及更高版本(当前版本为2.1.210)具有LEGACY兼容模式,可以通过附加;MODE=LEGACY到JDBC URL来启用。此模式对旧版本的 H2 提供了一些有限的兼容性。

当 Hibernate ORM 6.0 发布时,不需要这个技巧。

已编辑

H2 2.xy 的更改已向后移植到 Hibernate ORM 5.6.5。