为什么 javax.persistence-api 在 spring data jpa starter 中被 jakarta.persistence-api 取代?

Ste*_*rnK 9 java hibernate jpa spring-data-jpa spring-boot

最近开始学习spring boot,data jpa。正如我可以看到这个,弹簧引导数据JPA起动器使用jakarta.persistence-api,而不是javax.persistence-api

   <artifactId>spring-boot-starter-data-jpa</artifactId>
   ...
   <dependencies>
      <dependency>
         <groupId>jakarta.persistence</groupId>
         <artifactId>jakarta.persistence-api</artifactId>
      </dependency>

      <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-core</artifactId>
         <exclusions>
            <exclusion>
               <groupId>javax.persistence</groupId>
               <artifactId>javax.persistence-api</artifactId>
            </exclusion>
            ...
         </exclusions>
      </dependency>
   </dependencies>
Run Code Online (Sandbox Code Playgroud)

jakarta.persistence-api和之间有什么区别javax.persistence-api?这次更换的原因是什么?

Kri*_*isz 14

来自维基百科

Java持久性API(JPA),2019年更名为雅加达持久性,是描述关系数据的使用Java平台,标准版和Java平台企业版/雅加达EE应用程序管理Java应用程序编程接口规范。

Java EE 被 Oracle 开源并将权利授予 Eclipse 基金会之后,他们被法律要求从 Java 更改名称,因为 Oracle 拥有 Java 品牌的权利。雅加达这个名字是由社区选择的。您可以在此处此处找到更多信息。

  • Spring Boot 3/Spring Framework 6 已升级到 Jakarta EE 9+,因此 Spring Data JPA 的相应版本现在位于“jakarta”版本上。Spring Boot 2.7 及更早版本仍然使用“javax”版本。 (6认同)