javax.persistence 未包含在 spring 数据 jpa 中?

javax.persistence not included in spring data jpa?

我刚刚用这个依赖创建了一个maven项目

<dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>2.2.1.RELEASE</version>
        </dependency>

但我发现所有这些 类 都找不到:

import javax.persistence.*

所以我必须将依赖项更改为

 <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>javax.persistence-api</artifactId>
                <version>2.2</version>
            </dependency>

我觉得很奇怪,因为最后更新来自 Aug 21, 2017

没有包含 javax.persistence 的 spring 依赖项 ?????

Spring Data JPA 本身不是 JPA 规范的实现。它是构建在 JPA 之上的抽象,需要 JPA 实现(通常是 Hibernate)才能运行。 JPA 实现提供 javax.persistence 类.

如果您正在使用 Spring Boot 的 Data JPA starter,它依赖于 Spring Data JPA 和 Hibernate。然后,Hibernate 依赖于 javax.persistence API,这使得它的 类 可用于您的应用程序代码。