본문 바로가기

즉시2

JPA - 즉시 로딩과 지연 로딩 - 참조: 자바 ORM 표준 JPA 프로그래밍 - 즉시 로딩과 지연 로딩 이전에 살펴본 프록시 객체는 주로 연관된 엔티티를 지연 로딩할 때 사용한다. Member member = em.find(Member.class, 2L); Team team = member.getTeam(); System.out.println(team.getName()); 위와 같이 회원이 팀에 소속되어 있다고 가정해보자. 이때 회원 엔티티 조회시 팀까지 한꺼번에 하는게 좋을까? 아니면 팀 엔티티를 실제 사용시할때까지 조회를 미루는것이 좋을까? JPA 는 이 두 가지 방식을 모두 지원한다. 즉시 로딩: 엔티티를 조회할 때 연관된 엔티티도 함께 조회한다. @ManyToOne(fetch = FetchType.EAGER) 로 설정할 수 있.. 2021. 7. 15.
JPA - 프록시 - 참조: 자바 ORM 표준 JPA 프로그래밍 - 프록시와 즉시로딩, 지연로딩 객체가 데이터베이스에 저장되어있으면 연관된 객체를 탐색하기 난해하다. JPA 구현체들은 이런 문제 해결을 위해 프록시를 이용한다. 프록시를 이용하면 실제 이용하는 시점에 데이터베이스에서 조회할 수 있다. JPA 에서는 즉시로딩 혹은 지연로딩으로 시점을 정할 수 있다. - 프록시 엔티티를 사용할 때 연관된 엔티티의 사용 유무는 비즈니스 로직에 따라 다르다. @Entity public class Member { @Id @GeneratedValue @Column(name = "USER_ID") private Long id; private String userName; @ManyToOne @JoinColumn(name = "TEAM_.. 2021. 7. 14.