반응형
@Entity
@Getter
@ToString(exclude = "memberId")//꼭, 다른 엔티티에 의존하는 컬럼을 tostring에서 제외시킬것
public class Order extends BaseEntity{
@Id @GeneratedValue
@Column(name = "order_id")
private Long orderId;
//targetEntity로 어떤 엔티티에 의존할지 설정하고, fetch로 지연조회 설정할것
//지연조회를 설정하지 않으면, 멤버가 필요하지 않은 상황에서도 함께 조회하게 됨
//그래서 지연 조회를 설정하고 필요할 때만 즉시조회 설정하는게 성능상 이득임
@ManyToOne(targetEntity = Member.class,fetch = FetchType.LAZY)
@JoinColumn(name="member_id")
private Member memberId;
}
@JoinColumn
과 같은 경우에는 @ManyToOne
과 다대일 관계에서는 생략 가능하지만, 반대로 @OneToMany
관계에서는 생략이 불가능하다. 왜냐하면, 조인할때 참고할 컬럼을 지정하지 않으면 중간 테이블을 만들어서 처리하기때문이다.
Uploaded by N2T
반응형
'JPA 게시판 > JPA' 카테고리의 다른 글
DTO QueryProjection (0) | 2023.04.02 |
---|---|
QueryDsl에서 동적쿼리를 해결하는법 (0) | 2023.04.02 |
BaseEntity의 작성 (0) | 2023.04.02 |
SpringJpa리포지토리의 작성 (0) | 2023.04.02 |
연관관계 설정 (0) | 2023.04.02 |