인프런 커뮤니티 질문&답변

김광훈님의 프로필 이미지
김광훈

작성한 질문수

실전! 스프링 데이터 JPA

안녕하세요, Spring-data-JPA와 Jdbc 의존 관계 질문드립니다 !

작성

·

448

0

안녕하세요 강사님 !!

좋은 강의 덕분에 스프링을 한 번도 사용해보지 않았지만, 빠르게 잘 적응 중 입니다, !!! 

테스트 중에 spring-data-jpa와 spring-data-jdbc 의존성 추가했을 때, 오류가 발생하는 것을 발견하여 질문 드립니다.

현재 상황은 Gradle에 아래와 같인 의존 관계를 설정 하였습니다.

사진에서 보이는 바와 같이 기존에 spring-data-jpa를 먼저 추가하였고, 그 이후 spring-data-jdbc를 추가하였습니다.

하지만 spring-data-jdbc는 빌드에 실패하였고, spring-jdbc는 빌드에 성공하였는걸 확인하였습니다.

실패했을 때의 에러 로그는 아래와 같습니다.

오류 메시지를 확인해보았을 때 XXXRepository를 오버라이드 할 수 없다고 출력이되는데

저의 추측으로는 spring-data-jpa, spring-data-jdbc에서 component scan을 할 때, 순서상 어떤 것이 먼저 등록하는지는 모르겠지만 두 의존성이 동일한 클래스를 Bean으로 등록하려고 할 때 발생하는 에러인 것 같습니다.

(현재 등록된 CrudRepository를 상속 받은 interface에는 모두 @Repository 어노테이션을 걸어두었습니다.)

혹시 저의 생각이 맞다면 이 부분은 어떻게 해결할 수 있는지 알 수 있을까요 ???

만약 아니라면 어떤 부분이 이슈인지 궁금합니다. !!!

마지막으로 spring-jdbc같은 경우는 왜 오류가 발생하지 않았는지 궁금합니다 !!!

답변 2

1

김광훈님의 프로필 이미지
김광훈
질문자

제가 잘못 생각하고 있던 것 같습니다.

많은 도움되었습니다. 감사합니다 !!

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 광훈님

spring-boot-starter-data-jdbc는 Data JDBC라고 하는 전혀 다른 라이브러리 입니다. 마치 스프링 데이터 JPA 같은 별도의 라이브러리 입니다.

spring-boot-starter-jdbc는 spring-boot-starter-data-jpa를 사용하면 대부분 포함되기 때문에 생략하셔도 됩니다.

감사합니다.

김광훈님의 프로필 이미지
김광훈

작성한 질문수

질문하기