programing

spring-data-jpa와 spring-boot-starter-data-jpa의 차이점

bestcode 2023. 2. 14. 20:23
반응형

spring-data-jpa와 spring-boot-starter-data-jpa의 차이점

이 질문을 하는 것이 최선이라고는 할 수 없습니다만, Spring Boot에는 2개의 Spring JPA가 있는 것을 알 수 있었습니다.어떻게 다른가요?현재 하이버네이트와 함께 Spring Boot 1.5.3 프로젝트를 셋업하려고 합니다.이전에 spring-boot-starter-data-jpa를 사용하여 JPA를 사용하여 Spring Boot을 셋업했던 것으로 기억합니다.

제가 본 대부분의 온라인 예와 starter.spring.io은 Spring JPA에 대해 다음과 같은 종속성을 제공합니다.

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

그러나 기존 프로젝트 중 하나에서 spring-data-jpa를 발견했습니다.

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

구글을 조금만 해도 그들이 다른지 아닌지는 알 수 없었다.

JPA를 추가한 이전 프로젝트에서는 JPA 2.1/Hibernate를 사용했기 때문에 새로운 Spring Boot 어플리케이션에서 어떤 것을 사용해야 할지 잘 모르겠습니다.

문서에 기재된 바와 같이starter하나는 이 특정 라이브러리의 모든 필수 종속성에 대해 편리한 인라이너입니다. 즉, 다른 종속성을 수동으로 작성하는 대신 그 자체에 포함합니다.

를 조사합니다.spring-boot-starter-data-jpa pom.xml, 여기에 다음 정보가 포함되어 있습니다.spring-data-jpa다른 많은 것들의 의존관계로서.

Spring Boot Starters는 어플리케이션에 포함할 수 있는 편리한 의존관계 기술자 세트입니다.샘플 코드를 검색하거나 의존관계 기술자의 페이스트 로드를 복사할 필요 없이 필요한 모든 스프링 및 관련 기술을 원스톱으로 이용할 수 있습니다.예를 들어 Spring 및 JPA를 데이터베이스 액세스에 사용하기 시작할 경우 프로젝트에 spring-boot-starter-data-jpa 종속성을 포함하면 됩니다.

pom.xml에서 spring-boot-boot-data-jpa를 확인하십시오.https://github.com/spring-projects/spring-boot/blob/master/spring-boot-starters/spring-boot-starter-data-jpa/pom.xml

설명 태그 "Starter for using Spring Data JPA with Hibernate" (스프링 데이터 JPA를 휴지 상태로 사용하기 위한 스타터)를 확인합니다.

따라서 spring-boot-starter-data-jpa는 하이버네이트를 포함한 Spring Data JPA를 구현으로 사용합니다.말하자면 이건 하드코드야.

여기서 pom.xml에서 spring-data-jpa를 체크하면 구현에 구애받지 않습니다.또한 어떤 프로젝트에서든 Spring Data JPA를 사용하려면 사용할 구현을 제공해야 합니다.그렇게 하지 않으면 오류가 발생합니다.

Spring Data JPA 문서에는 현재 Hibernate 5, (Apache) OpenJPA 2.4 및 EclipseLink 2.6.1이 지원되고 있습니다.여기: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/ #new-1802.10-0

언급URL : https://stackoverflow.com/questions/44768112/difference-between-spring-data-jpa-and-spring-boot-starter-data-jpa

반응형