[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
영속성 컨텍스트 💡 엔티티를 영구 저장하는 환경, 가상의 DB 역할 엔티티 생명주기 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 Member member = new Member(); member.setId("member1"); member.setUsername("홍길동"); 영속(managed) : 영속성 컨텍스트에 관리되는 상태 EntityManager em = EntityManagerFactory.createEntityManager(); em.getTransaction().begin(); Member member = new Member(); member.setId("member1"); member.setUsername("홍길동"); // 객체를 영속성 컨텍스트..