CHAAANY ARCHIVE

JPA FetchType

1개의 기록을 주제별로 둘러보세요.

JPA 프록시·지연 로딩·cascade·orphanRemoval: 헷갈리는 경계

JPA의 프록시, FetchType, cascade와 orphanRemoval은 연관관계에서 함께 등장하지만 서로 다른 문제를 해결한다.프록시는 아직 읽지 않은 엔티티를 어떤 참조로 표현할지에 관한 문제다.FetchType과 fetch plan은 데이터를 언제, 어떤 SQL로 읽을지에 관한 문제다.cascade는 persist, remove 같은 영속성 작업을 어디까지 전파할지 정한다.orphanRemoval은 부모와의 관계에서 빠진 자식을 삭제할지 정한다.이 네 축을 분리하면 “LAZY면 N+1이 없다”, “cascade와 고아 객체 삭제는 같다” 같은 오해를 피할 수 있다.getReference()는 존재 확인용 조회가 아니다EntityManager.getReference()는 주어진 식별자의 엔티티..

728x90