목록lazy loading (1)
훈훈훈
Spring boot :: Kotlin + Hibernate 사용 시, lazy loading 이슈 정리
이번에는 스프링 부트와 Kotlin 그리고 JPA(Hibernate) 사용하면서 겪었던 N+1 이슈를 정리해보려고 한다. 여러 연관관계가 매핑되어 있는 테이블의 전체 데이터를 조회하는 API를 호출하였을 때, 한방 쿼리가 발생할 것으로 예상을 했지만.... 결과는 몇천만 건 이상 쿼리가 발생하는 이슈가 발견되었다. 해당 글에서는 문제를 해결하면서 알게된 사용한 기술들에서 발생한 문제점과 해결방안을 공유하려고 한다. Hibernate 하이버네이트는 지연로딩(Lazy Loading)을 할 때 Entity를 프록시 객체로 조회한다고 한다. 그리고 공식 문서를 확인해보면 Entity Class를 final 속성으로 선언하면 프록시 객체를 생성할 수 없기 때문에 지연로딩을 사용할 수 없다고 명시되어 있다. 코틀린..
Spring Framework/개념
2020. 12. 19. 03:39