从 1.4.200 升级 H2 版本 2.0.202

Upgrade H2 version 2.0.202 from 1.4.200

  1. 您好,我们正在尝试从 1.4.200 升级到 2.0.202。我们得到一个 与 运行 我们的测试相关的错误。在坚持的同时 我们得到的数据低于错误。有什么建议吗?

由以下原因引起:org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: “***”列不允许为 NULL; SQL 声明:

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

H2 2.0.204及之后的版本(当前版本为2.1.210)有LEGACY兼容模式,可以通过在JDBC后加;MODE=LEGACY来启用[=31] =].此模式与旧版本的 H2 提供了一些有限的兼容性。

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

已编辑

H2 2.x.y 的更改已反向移植到 Hibernate ORM 5.6.5。