강의

멘토링

커뮤니티

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

서지완님의 프로필 이미지
서지완

작성한 질문수

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

주문, 주문상품 엔티티 개발

OrderItem 클래스 item.removeStock(), getItem().addStock() 차이

작성

·

313

1

OrderItem 클래스에서,

생성메서드인 createItem 에서의 재고관리 메소드 이용은 

item.removeStock(count); 이고

비즈니스 로직에서 cancel 에서의 재고관리 메소드 이용은

getItem().addStock(count); 입니다.

두 가지 이용방법이 다른 이유가 있을까요?

cancel 메소드에서,

getItem().getStockQuantity()

item.getStockQuantity()

위 두 가지 출력 시 같은 것이 나오는 것을 확인했습니다.

// == 생성 메서드 == //
public static OrderItems createOrderItem(Item item, int orderPrice, int count) {
OrderItems orderItems = new OrderItems();
orderItems.setItem(item);
orderItems.setOrderPrice(orderPrice);
orderItems.setCount(count);

item.removeStock(count);
return orderItems;
}
// == 비즈니스 로직 == //
public void cancel() { // 재고 수량 원복
getItem().addStock(count);
}

답변 1

4

안녕하세요. 서지완님, 공식 서포터즈 David입니다.

코드는 다르지만 맥락은 동일하다 판단하여서 링크 전달드립니다.

아래 답변 글 참고해주세요:)

https://www.inflearn.com/questions/20180

감사합니다.

서지완님의 프로필 이미지
서지완
질문자

답변 감사합니다!

서지완님의 프로필 이미지
서지완

작성한 질문수

질문하기