JPA

(JPA) 연관관계 매핑 예시

Accept 2023. 1. 15. 21:10

간단한 주문 DB 구조(출처 : 자바 ORM JPA 프로그래밍 김영한 강의)

 

간단한 주문 객체 구조(출처 : 자바 ORM JPA 프로그래밍 김영한 강의)

 

// Member Entity 기준

@Id @GeneratedValue

@Column(name = "MEMBER_ID")

private Long id;



@OneToMany(mappdBy = "member")

private List<Order> orders = new ArrayList<>();
// 실제 서비스 시, 회원을 통해 주문 정보를 불러오는 비지니스 로직은 거의 없지만 굳이 연관관계 매핑을 한다면 위와 같이 할 수 있다.



// Order Entity 기준

@Id @GeneratedValue

@Column(name = "ORDER_ID")

private Long id;



@ManyToOne

@JoinColumn(name = "MEMBER_ID")

private Member member;



@OneToMany(mappedBy = "order")

private List<OrderItems> orderItems = new ArrayList<>();

// ORDER_ITEM 테이블은 ORDER_ID를 FK가지며, 해당 FK에 해당하는 필드 값이 @OneToMany(mappedBy = "")에 설정해야함



// OrderItems Entity 기준

@Id @GeneratedValue

@Column(name = "ORDER_ITEM_ID")

private Long id;



@ManyToOne

@JoinColumn(name = "ORDER_ID")

private Order order;



@ManyToOne

@JoinColumn(name = "ITEM_ID")

private Item item;