단순히 member 정보만 사용하는 비즈니스 로직이라고 하면 member를 조회할 때 team까지 가져오면 손해입니다.
그래서 JPA는 지연 로딩이라는 옵션을 제공합니다.
package hellojpa;
import javax.persistence.*;
@Entity
public class Member_15 extends BaseEntity {
@Id @GeneratedValue
@Column(name = "MEMBER_ID")
private Long id;
@Column(name = "USERNAME")
private String username;
**@ManyToOne(fetch = FetchType.LAZY)**
@JoinColumn
private Team_15 team;
//Getter, Setter
}
...
try {
Member_15 member = new Member_15();
member.setUsername("member1");
em.persist(member);
em.flush();
em.clear();
Member_15 m = em.find(Member_15.class, member.getId());
tx.commit();
}
...
실행해봅니다.
쿼리를 보면 Member만 가져왔습니다.