2

我刚刚创建了一个具有此依赖项的 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 依赖项????

4

1 回答 1

2

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

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

于 2019-11-09T12:25:31.070 回答