• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

양방향 연관관계 편의 메서드 하는 이유

23.05.29 18:25 작성 조회수 204

0

안녕하세요, 양방향 연관관계 편의 메서드를 하는 이유는 순수한 객체 상태에서 봤을 때 양쪽에 값이 있어야 하기 때문인걸로 이해를 했습니다.

order와 member가 다대일인 관계라 했을 때,

보통 멤버를 db에서 find해서 쓸텐데, 이러면 member에서의 orderList를 가지고 오려면 연관관계 편의 메서드 와는 상관없이 db에서 join을 해서 가지고 오더라구요,,

  1. 보통 프로젝트나 현업에서 순수한 객체 상태에서 쓸 일이 있나요?

  2. 아니면 연관관계 편의 메서드를 썼을 때 다른 이점이 있나요?

답변 1

답변을 작성해보세요.

0

codesweaver님의 프로필

codesweaver

23.05.30 17:55

안녕하세요, 송민석 님! 공식 서포터즈 codesweaver 입니다.

연관관계 메소드 + Cascade 속성을 활용할 경우 엔터티 생성시 좀 더 간편하게 작업할 수 있습니다.

가령, Order:OrderItem이 1:N 관계이고 Cascade.ALL 인 경우 Order와 OrderItem 엔터티 생성을 다음처럼 한 번에 할 수 있습니다.

OrderItem item1 = OrderItem.builder().build();
Order order = Order.builder().build();
order.addOrderItem(item1);

orderRepository.save(order); // Order + Order에 연결된 OrderItem 까지 한번에 생성

감사합니다.