스프링 부트 hibernate.jpa.compliance.proxy 설정

SuYeong·2023년 3월 2일
1

스프링 부트에서 hibernate.jpa.compliance.proxy 설정 방법을 알아보겠습니다.

설정 사용 이유?

JPA 스펙에서는 getReference()로 얻어온 프록시 인스턴스의 getId()를 호출했을 때, SELECT쿼리가 나가도록 정해져 있습니다.

하지만 Hibernate에서는 DB 호출 횟수를 줄이기 위해, getId()를 호출해도 SELECT 쿼리가 나가지 않습니다.

이러한 Hibernate를 JPA 스펙과 같이 동작하도록 설정하기 위해 사용합니다.

설정 방법

application.yaml 혹은 application.properties 에 아래와 같이 설정하면됩니다.

spring:
  jpa.properties:
      hibernate.jpa.compliance.proxy: true

기본값은 false 입니다.

true로 할 경우 JPA 스펙에 맞추어 동작하게 됩니다.

참고

profile
안녕하세요

1개의 댓글

comment-user-thumbnail
2023년 10월 21일

좋은 정보 감사합니다.

답글 달기