public class Member {
@Id
@GeneratedValue
private Long id;
@Column(name = "USERNAME")
private String name;
@ManyToOne(fetch = FetchType.LAZY) // @ team에 지연로딩이 걸려있다.
@JoinColumn(name = "TEAM_ID")
private Team team;
..
}
Member member = em.find(Member.class, 1L); // 이때 team은 호출되지 않는다.
Team team = member.getTeam();
team.getName(); // 실제 team을 사용하는 시점에 초기화된다.(DB 조회)
@Entity
public class Member {
@Id
@GeneratedValue
private Long id;
@Column(name = "USERNAME")
private String name;
@ManyToOne(fetch = FetchType.EAGER) // @ team에 즉시로딩이 걸려있다.
@JoinColumn(name = "TEAM_ID")
private Team team;
..
인프런 JAVA ORM 표준 JPA 프로그래밍 - 기본편