개발공부/[Spring]김영한_ORM표준 JPA프로그래밍

[다대일, N:1]양방향 연관관계 설정하기 _Order와 Member

개발자 덕구🐾 2022. 9. 1. 21:43
728x90

 

 

 

 

< Order 엔티티에 코드 추가 >

 

Member는 Order(주문)을 여러개할 수 있다. 

즉, Order의 입장으로는 N:1이므로 @ManyToOne 어노테이션을 사용하여 매핑한다. 

@JoinColumn을 통해 연결된 PK가 뭔지 알려준다. 

다(N)쪽이 연관관계의 주인이 되므로 이 친구가 주인이다. 

    // FK
    // Member의 Member_ID가 PK다. 
    @ManyToOne
    @JoinColumn(name="MEMBER_ID")
    private Member member;

 

 

 

 

 

 

 

<Member 엔티티에 코드 추가>

 

만약 양방향 관계로 하고싶다면  Member 엔티티에 Order의 리스트를 만들어 @OneToMany 를 붙여주고 

속성에 mappedBy를 통해 member와 연결해주면 된다.

여기서 member는 위 코드의 private Member member; 의 member이다. 즉, 외래키를 준다. 

 

    @OneToMany(mappedBy = "member")
    private List<Order> orders = new ArrayList<>();

 

 

 

 

 

 

 

 

 

 

반응형