javax.persistence не входит в данные весны jpa? - PullRequest
1 голос
/ 09 ноября 2019

Я только что создал проект 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 ????

1 Ответ

3 голосов
/ 09 ноября 2019

Spring Data JPA сам по себе не является реализацией спецификации JPA. Это абстракция, построенная на основе JPA, для работы которой требуется реализация JPA, обычно Hibernate. Реализация JPA предоставляет классы javax.persistence.

. Если вы используете стартовую версию Spring Boot Data JPA, она зависит как от Spring Data JPA, так и от Hibernate. В этом случае Hibernate зависит от javax.persistence API, который делает его классы доступными для кода вашего приложения.

...