인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

kr즈아님의 프로필 이미지
kr즈아

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

단방향 엔티티 칼럼에 관해서

작성

·

222

0

주문 엔티티와 상품 엔티티 모두 orderItem에 관해서 일대다 관계입니다.

1)주문 엔티티

@Entity

@Getter @Setter

public class Order {

@Id @GeneratedValue

  @Column(name = "order_id")

private Long id;

@ManyToOne(fetch = FetchType.LAZY)

@JoinColumn(name = "member_id")

private Member member; //주문 회원

  @OneToMany(mappedBy = "order", cascade = CascadeType.ALL)

  private List<OrderItem> orderItems = new ArrayList<>()

(중략)

}

2) 상품엔티티

@Entity

@Getter @Setter

public abstract class Item {

  @Id @GeneratedValue

  @Column(name = "item_id")

private Long id;

private String name; 

private int price;

private int stockQuantity;

@ManyToMany(mappedBy = "items")

  private List<Category> categories = new ArrayList<Category>();

}

주문 칼럼에는  List<OrderItem> orderItems 이 있고, 상품은 OrderItem 칼럼이 없던데

이게 단방향으로 받으면은 OrderItem 객체를 칼럼으로 못 받아서 그러는 건가요?

답변 1

1

안녕하세요. kr즈아님, 공식 서포터즈 OMG입니다.

주문(Order) 입장에서 주문 상품(OrderItem)의 정보가 필요(주문이 행해진 아이템과 주문의 정보)하고, 반대의 경우도 마찬가지(어떤 주문에 포함되는 상품들인지)인 반면

Item 입장에서는 자신이 어떤 주문에서의 주문이 된 상품인지는 중요하지 않기 때문에 단방향으로의 설계가 이뤄진 것 입니다.

감사합니다.

kr즈아님의 프로필 이미지
kr즈아

작성한 질문수

질문하기