스프링 부트에서 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 스펙에 맞추어 동작하게 됩니다.
좋은 정보 감사합니다.