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

我最近开始学习弹簧靴,数据jpa。从中我可以看到,jpa 启动器使用的 spring boot 数据不是 :jakarta.persistence-apijavax.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>

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


答案 1

来自维基百科上的Java Persistence API

Java Persistence API(JPA)于2019年更名为Jakarta Persistence,是一个Java应用程序编程接口规范,描述了使用Java Platform,Standard Edition和Java Platform,Enterprise Edition/ Jakarta EE的应用程序之间的关系数据的管理。

Java EE被Oracle开源并将权利授予Eclipse基金会之后,法律要求他们从Java更改名称,因为Oracle拥有Java品牌的权利。雅加达这个名字是由社区选择的。您可以通过阅读通往雅加达EE和雅加达EE的道路 - 没有回头路找到更多信息


答案 2

一点历史:Oracle在2017年为Eclipse贡献了Java EE,并成为一个开源项目。随后,该名称更改为Jakarta EE


推荐