[Spring Data JPA] 즉시로딩, 지연로딩
·
Web & Android/Spring Data JPA
즉시 로딩 ⇒ 연관된 엔티티를 즉시 조회 후 영속성 컨텍스트에 저장 연결된 모든 데이터를 즉시 가지게 된다는 것. 문제점 조인해서 가져오는 엔티티가 많아질수록 쿼리가 어떻게 실행될지 개발자가 예측하기 힘듦 사용하지 않은 엔티티도 한꺼번에 가져오기 때문에 성능상 문제가 발생할 수 있음 @ManyToOne, @OneToOne처럼 One으로 끝나는 것들은 기본값이 즉시 로딩 @OneToMany, @ManyToMany처럼 Many로 끝나는 것들은 기본값이 지연 로딩 즉시 로딩 대신에 지연 로깅 방식 사용 -> (fetch = FetchType.*LAZY*) 연관관계 어노테이션 뒤에 붙이기 // 양방향 매핑을 하기 위해 설정, 영속성 전이 설정, 고아객체 설정(고아객체가 되면 다 날려버리겠다는 것) @OneToM..
[Spring Data JPA] 연관 관계 매핑
·
Web & Android/Spring Data JPA
1. 종류 일대일(1:1) : @OneToOne 일대다(1:N) : @OneToMany 다대일(N:1) : @ManyToOne 다대다(N:M) : @ManyToMany 2. 방향 단방향 A 엔티티만 B 엔티티를 참조하는 것. 즉, 한 쪽만 참조하는 것을 말함. 양방향 A 엔티티와 B 엔티티가 서로를 참조하는 것. JPA 객체지향 중심 설계에서는 단방향, 양방향 존재 데이터베이스 중심 설계 테이블에서 관계는 항상 일대일 단방향 매핑 회원들은 각자 자신의 장바구니를 하나 갖고 있으며 장바구니 입장에서 봐도 자신과 매핑되는 한 명의 회원을 갖는 일대일 매핑 구조 장바구니 Entity는 현재 회원 Entity에 대한 정보를 알고 있음 회원 Entity에는 장바구니(Cart) Entity와 관련된 소스가 전혀 없..