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