작성
·
238
0
안녕하세요 영한님 강의 잘 듣고 있습니다!
Order 엔티티와 OrderItem 엔티티를 양방향 매핑 했을 때, 강의에서 보여주신 것과 같이 엔티티 안에 비즈니스 로직을 작성할 수 있었습니다.
//== 조회 로직 ==//
/**
* 전체 주문 가격 조회
*/
public int getTotalPrice() {
int totalPrice = 0;
for (OrderItem orderItem : orderItems) {
totalPrice += orderItem.getTotalPrice();
}
return totalPrice;
}
그런데 OrderItem에서 Order로 다대일 단방향 매핑만 했을 때는 service에서
// 주문의 총 가격 조회
List<OrderItem> orderItemList = orderItemRepository.findByOrderId(orderId);
int totalPrice = 0;
for (OrderItem orderItem : orderItemList) {
totalPrice += orderItem.getTotalPrice();
}
이런식으로 작성을 해야할 것 같은데 맞을까요?
그리고 이런 상황에서 선택을 하신다면 단방향 매핑을 양방향 매핑으로 바꾸시는지 아니면 다른 방법을 사용하시는지 궁금합니다!
답변 1
0
안녕하세요. dev.taeyeong님
이 부분은 딱 정답이 있다기 보다는 각각 트레이드 오프가 필요하기 때문에 전체 코드와 비즈니스 상황에 따라서 선택을 할 것 같아요.
감사합니다.