728x90
지난 글: https://un-lazy-midnight.tistory.com/91
이번에는 지난 글에 이어서 예제를 통해 연관관계 매핑을 실습해보자.
테이블 구조
지난번과 동일하다.
객체구조
참조를 사용하도록 변경한다.
MEMBER (1) : ORDER (N) 일대다
ORDER (1) : ORDERITEM (N) 일대다
ITEM (1) : ORDERITEM (N) 일대다
//Order
@ManyToOne
@JoinColumn(name = "MEMBER_ID")
private Member member;
@OneToMany(mappedBy = "order")
private List<OrderItem> orderItems = new ArrayList<>();
//OrderItem
@ManyToOne
@JoinColumn(name = "ORDER_ID")
private Order order;
@ManyToOne
@JoinColumn(name = "ITEM_ID")
private Item item;
//Member
@OneToMany(mappedBy = "member")
private List<Order> orders = new ArrayList<>();
하지만...!
order를 이렇게 setting해도 아무 문제 없다.
Order order = new Order();
em.persist(order);
OrderItem orderItem = new OrderItem();
orderItem.setOrder(order);
em.persist(orderItem);
어쨌든 1차적으로는 단방향으로 잘 설계하는 것이 더 중요하다.
728x90
'💻dev > 🌱Java+Spring' 카테고리의 다른 글
JPA | 예제로 알아보는 연관관계 매핑 (예제-3) (0) | 2023.04.30 |
---|---|
JPA | 다양한 연관관계 매핑 총정리 (다대일, 일대다, 일대일, 다대다) (0) | 2023.04.30 |
JPA | 양방향 연관관계와 연관관계의 주인, mappedBy가 뭔데? (0) | 2023.04.29 |
JPA | 연관관계 매핑 - 단방향 연관관계 (0) | 2023.04.29 |
JPA | 요구사항 분석과 기본 매핑 (예제-1) (0) | 2023.04.29 |