지연로딩2 Spring JPA / 즉시 로딩과 지연 로딩 (with N+1 문제, 프록시 객체) 안녕하세요. 이번 포스팅에서는 JPA의 다양한 연관관계에서 데이터를 가져오는 두가지 방법인 지연 로딩과 즉시 로딩에 대한 개념을 작성을 하도록 하겠습니다. 프로젝트를 진행을 하다보면 두 테이블 또는 여러 테이블들을 조인하는 구조가 발생을 하게 되며 JPA로 구현을 할 때 앞서 포스팅한 여러 연관관계를 사용하여 데이터를 가져와야하는 경우가 많이 생기게 됩니다. 이렇게 연관관계에 있는 엔티티들을 조회할 때 두 테이블을 조인해서 한번에 데이터를 모두 가져오는 방법과 연관관계에 있는 엔티티에 접근을 할 때 조회를 하는 방법 두가지 옵션이 있습니다. 예를 들어 A라는 부모 개념인 엔티티와 B라는 자식 개념의 엔티티가 존재한다고 했을 때 A 엔티티의 특정 시퀀스로 데이터를 조회할 때 연관관계에 있는 B 엔티티의 데.. 2023. 7. 31. Spring JPA / org.hibernate.LazyInitializationException: could not initialize proxy 장애 극복기 안녕하세요. 이번 포스팅은 제가 회사에서 JPA로 개발을 하다가 발생한 이슈에 대해 작성을 하려고 합니다. 생각보다 너무 간단하게 해결을 했었지만 다시 한번 JPA의 동작 방식에 대해서 생각하게 해주는 이슈라서 잊지 않기 위해 작성을 하기로 결심 했습니다. 이슈 발생 프로젝트를 진행 하던 중 연관관계가 있는 엔티티에서 연관관계 참조형 필드를 조회 후 해당 데이터를 뽑아오는 과정에서 org.hibernate.LazyInitializationException: could not initialize proxy 에러 메세지가 출력이 되면서 이슈가 발생이 되었습니다. 문제의 코드 회사 코드를 직접적으로 사용을 할 수가 없어서 기존 포스팅에 사용했던 예제 코드들로 재현을 하고자 합니다. @Entity public .. 2023. 6. 29. 이전 1 다음