반응형
// @Column(name = "MEMBER_ID")
// private Long memberId;
@ManyToOne
@JoinColumn(name = "MEMBER_ID")
private Member member;
- 주석 부분은 이제 사용하지 않는다.
- 다대일을 설정해 준다.
- MEMBER_ID에 조인을 걸어준다.
- 만약, 양방향 매핑을 하고 싶다면 member에서 매핑을 해주면 된다. 일단 지금은 하지 않는다.
- 가능하면 단방향 매핑이 좋다.
- 객체 입장에서 양방향은 양쪽 다 신경을 써야해서 별로 좋지 않다.
- 개발하다 필요할 때 양방향을 넣어준다.
- 실전에서 JPQL을 많이 쓰는데 이떄 양방향 연관관계가 필요하긴 하다.
// @Column(name = "ORDER_ID")
// private Long orderId;
@ManyToOne
@JoinColumn(name = "ORDER_ID")
private Order order;
// @Column(name = "ITEM_ID")
// private Long itemId;
@ManyToOne
@JoinColumn(name = "ITEM_ID")
private Item item;
- OrderItem도 마찬가지다.
- 다대일 설정을 해주고
- 조인을 걸어주면
- 따로 컬럼을 사용할 필요가 없어진다.
public void addOrderItem(OrderItem orderItem) {
orderItems.add(orderItem);
orderItem.setOrder(this);
}
- 연관관계 편의 메소드를 생성해 준다.
try {
Order order = new Order();
order.addOrderItem(new OrderItem());
tx.commit();
} catch (Exception e) {
tx.rollback();
}finally {
em.close();
}
emf.close();
- 연관관계 편의 메소드를 통해 양방향 연관관계 매핑이 된 부분을 사용하면 된다.
자바 ORM 표준 JPA 프로그래밍 - 기본편을 참고하여 공부하였습니다.
반응형
'Data Base > JPA' 카테고리의 다른 글
[JPA] : 일대다, 1:N (0) | 2022.04.13 |
---|---|
[JPA] : 다대일, N:1 (0) | 2022.04.11 |
[JPA] : 양방향 연관관계와 연관관계의 주인(Owner)에 대한 주의점 (0) | 2022.04.08 |
[JPA] : 양방향 연관관계, 연관관계 주인(Owner) (0) | 2022.04.08 |
[JPA] : 연관관계 매핑 기초 (0) | 2022.04.06 |
댓글