it-swarm-eu.dev

Różnica między Spring-Data-JPA a Spring-Boot-Starter-Data-JPA

To może nie być najlepsze pytanie, ale zauważyłem, że są 2 Spring JPA na Spring Boot. Czym się różnią. Obecnie próbuję skonfigurować projekt SpringBoot 1.5.3 wraz z hibernacją. Pamiętam, że wcześniej skonfigurowałem Springboot z JPA z programem spring-boot-starter-data-jpa.

Większość przykładów online, które widziałem, a także starter.spring.io zapewnia poniżej zależności dla wiosennego jpa.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

Ale w jednym z istniejących projektów natknąłem się na wiosenne dane-jpa

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

Robienie odrobiny google nie dało mi, jeśli są różne, czy nie.

We wszystkich moich wcześniejszych projektach, w których dodałem JPA, było JPA 2.1/Hibernate, dlatego jestem nieco niepewny, który z dwóch użyć w mojej nowej aplikacji SpringBoot.

22
Acewin

Jak podano w docs , starter to wygodny wkładka do wszystkich wymaganych zależności dla tej konkretnej biblioteki, tj. Zawiera inne zależności w sobie, zamiast pisania ich ręcznie.

Spójrz na spring-boot-starter-data-jpapom.xml , zobaczysz tam zawiera spring-data-jpa jako zależność między wieloma innymi.

Startery Spring Boot to zestaw wygodnych deskryptorów zależności, które można dołączyć do aplikacji. Uzyskujesz kompleksową obsługę wszystkich technologii Spring i pokrewnych, których potrzebujesz, bez konieczności przeszukiwania przykładowego kodu i kopiowania mnóstwa deskryptorów zależności. Na przykład, jeśli chcesz zacząć korzystać z Spring i JPA w celu uzyskania dostępu do bazy danych, po prostu dołącz do swojego projektu zależność spring-boot-starter-data-jpa i możesz zacząć.

27
Artem Novikov

Sprawdź plik pom.xml, aby uzyskać wiosenny rozruch-dane-jpa tutaj: https://github.com/spring-projects/spring-boot/blob/master/spring-boot-starters/spring-boot -starter-data-jpa/pom.xml

Przeczytaj tag opisujący: „Starter do używania Spring Data JPA z Hibernacją”.

Tak więc wiosenny rozruch-dane-jpa używa Spring Data JPA z Hibernacją jako implementacją. Można to powiedzieć na sztywno.

Jeśli teraz sprawdzisz plik pom.xml dla pliku spring-data-jpa, jest on niezależny od implementacji. Aby użyć JPA Spring Data w dowolnym projekcie, jeden musi zapewnić implementację do użycia. Nieprzestrzeganie tego spowoduje błąd.

Dokumentacja JPA Spring Data stwierdza, że ​​obecnie obsługuje Hibernate 5, (Apache) OpenJPA 2.4 i EclipseLink 2.6.1. Przeczytaj tutaj: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#new-features.1-10-

3
Sanora

Spring Boot zapewnia spring-boot-starter-data-jpa starter do wydajnego łączenia aplikacji wiosennej z relacyjną bazą danych. Starter ma dodatkowe zależności.

spring-data-jpa jest używany jako zależność dla spring-boot-starter-data-jpa. Ponieważ używasz wersji Spring Boot 1.5.3, możesz rzucić okiem na tutaj .

spring-data-jpa, część większej rodziny Spring Data, ułatwia wdrożenie repozytoriów opartych na JPA. Ten moduł dotyczy ulepszonej obsługi warstw dostępu do danych opartych na JPA. Ułatwia tworzenie aplikacji opartych na wiośnie, korzystających z technologii dostępu do danych.

1