작성
·
1.6K
3
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
Spring Boot 3.2버전에서 실습 중에, distinct 옵션을 사용하지 않고도 distinct 옵션을 넣은 것처럼 Row가 2줄 출력됩니다. 이것저것 코드를 확인하다가 Spring Boot를 2.x 버전으로 내린 후에 다시 확인해보았는데, 그제서야 강의에 나오는 것처럼 중복 데이터 4개가 나옵니다. 혹시 이것 관련해서 jpa에서 업데이트가 된 것인지요..? 검색 능력이랑 문서 능력 찾아보는 능력이 딸려, 한참 찾아보다 여기에 질문합니다 ㅜㅜ 실례가 안된다면 이러한 내용을 어떻게 찾는지도 알게 될 수 있다면 좋을거 같습니다!
답변 1
10
안녕하세요, shovel 님. 공식 서포터즈 y2gcoder 입니다.
JPA 구현체로 Hibernate를 사용하는데, 스프링 부트 3버전 부터는 Hibernate 6 버전을 사용하고 있습니다 :)
Hibernate 6버전은 페치 조인 사용 시 자동으로 중복 제거를 하도록 변경되었다고 합니다.
말씀해주신 라이브러리는
jackson 데이터 처리와 hibernate(jpa 구현체) 간의 매핑에 관련된 라이브러리 입니다.
이는 저희가 추가해준 것으로 실제 hibernate 5를 사용중인 것이 아닙니다.
사용하는 hibernate 버전을 확인하시고 싶으시다면
찍어주신 캡처를 기준으로 gradle > compileClasspath > org.springframework.boot:spring-boot-starter-data-jpa:3.3.2 > 하위를 확인해보시면 좋을 것 같습니다~
낙낙님이 사용하고 계시는 스프링 부트 3.3.2 버전의 하위버전인 3.2.3 버전에서도 hibernate 6버전을 사용하고 있는 모습을 보실 수 있습니다.
감사합니다! 많은 도움이 되었습니다!