如何确保hibernate依赖在没有SpringBoot的情况下兼容

问题描述 投票:0回答:2

我有以下休眠依赖项

  • hibernate-core 5.4.3-Final
  • hibernate-ehcache 5.4.3-最终版
  • hibernate-entitymanager 5.4.3-Final
  • hibernate-jpamodelgen 5.4.3-最终版
  • hibernate-validator 5.4.3-Final
  • hibernate-hikaricp 5.4.3-Final

我遇到了 5.4.3-Final 中的这个错误 https://hibernate.atlassian.net/browse/HHH-13259,它已在 5.4.5-Final 中修复。

但是,hibernate-hikaricp 和 hibernate-validator 没有 5.4.5-Final 版本。

如果我将下面的依赖项与如下所示的版本一起使用,我如何才能确定不存在任何不兼容性?

  • hibernate-core 5.4.5-Final
  • hibernate-ehcache 5.4.5-最终版
  • hibernate-entitymanager 5.4.5-Final
  • hibernate-jpamodelgen 5.4.5-最终版
  • hibernate-validator 5.4.3-Final
  • hibernate-hikaricp 5.4.3-Final

我没有 SpringBoot,但是我可以查一下是否有 SpringBoot 认可的 5.4.5-Final 星座?

java spring-boot hibernate hikaricp hibernate-validator
2个回答
2
投票

以下工件都是 Hibernate ORM 的一部分:

hibernate-core
hibernate-ehcache
hibernate-entitymanager
hibernate-jpamodelgen
hibernate-hikaricp

由于它们是同一项目的一部分,因此它们显然应该使用完全相同的版本:

5.4.5.Final
在你的情况下,我想,尽管升级到最新的 5.6 将是一个好主意。

然而,这是一个不同的项目,Hibernate Validator

hibernate-validator

正如 Hibernate 网站上所述,Hibernate 项目不是发布系列的一部分。 Hibernate ORM 和 Hibernate Validator 的兼容版本不一定相同。例如,Hibernate ORM 5.6 通常会与 Hibernate Validator 6.2 一起使用。

不过,HV 和 Hibernate Validator 之间没有直接依赖关系;它们通过 Java EE / Jakarta EE 标准相互交互。所以请耐心等待,这会有点复杂。

在您的情况下,当使用 Hibernate ORM 5.4 时,您正在使用 JPA 2.2,它是 Java EE 8 的一部分。您可以在 Hibernate ORM 兼容性矩阵上找到该信息。

如果您查看 Hibernate Validator 兼容性矩阵,您会发现 Hibernate Validator 6.0 和 6.2 都与 Java EE 8 兼容。其他版本的 Hibernate Validator 也可能如此,但只有这两个版本仍得到维护,因此您应该选择其中之一。

如果您需要了解 6.2 (6.2.x) 的最新 micro,您可以在此处找到列表。

综上所述:只需使用与您正在使用的 Java EE / Jakarta EE 版本兼容的最新版本的 Hibernate Validator。在您的情况下,它是 Java EE 8,因此请使用 Hibernate Validator 6.2。


1
投票

版本方案遵循https://semver.org,根据该规范,对最后一位数字(补丁)的更改不应影响包的 API,因此这些包应该是兼容的。

© www.soinside.com 2019 - 2024. All rights reserved.