为什么在 hibernate-core 6.0.2 中删除了对 javax.persistence-api 的依赖

Ray*_*ngo 5 java hibernate

将 hibernate-core 从 5.6.9.Final 更新到 6.0.2.Final 后,我的 javax.persistence.Entity 导入无法解析。我发现在 hibernate-core 6.0.2.Final 中删除了对 javax.persistence-api 的依赖。

在 5.6.9.Final 中它仍然在这里: https://search.maven.org/artifact/org.hibernate/hibernate-core/5.6.9.Final/jar

在 6.0.2.Final 中它消失了: https://search.maven.org/artifact/org.hibernate/hibernate-core/6.0.2.Final/pom

谁能解释一下为什么被删除吗?我应该自己添加它还是 6.0.2.Final 中缺少它(这是一个错误)吗?

M. *_*num 6

Hibernate 6 是 Jakarta Persistence API 的实现,而不是Java Persistence API。另请参阅初始发行说明

所以不,这不是一个错误,它是有意为之的,因为 2.2 版本之后没有 Java Persistence API,因为 EE API 的开发/维护已从 Oracle 转移到基金会。随着新版本的发布,软件包也发生了变化(由于法律影响),这些软件包现在jakarta.persistence不再是javax.persistence.

所有这些也是为什么有一个关于迁移到 Hibernate 6 的详细迁移指南的原因。