흰 스타렉스에서 내가 내리지

[스프링부트와JPA활용1]섹션5. 상품 도메인 개발 본문

Spring

[스프링부트와JPA활용1]섹션5. 상품 도메인 개발

주씨. 2022. 8. 6. 10:31
728x90

강의1. 상품 엔티티 개발 (비즈니스 로직 추가)

Item 메서드에 비즈니스 메서드를 추가해줬다

객체지향적으로 생각해봤을 때, 데이터를 가지고 있는 쪽에 비즈니스 메서드를 작성하는게 좋다. (서비스 측이 아닌)

그래야 응집력이 있다. 

 

setter를 통해 바깥에서 계산해서 넣는 것이 아니라, stockQuantity를 내부에서 처리하는 비즈니스 메서드를 만들어라.

 

 

45번 줄에 보면 커스텀으로 exception을 만들었다.

exception/NotEnoughStockException.java
오버라이드

 


강의2. 상품 리포지토리 개발

16번줄:

item은 JPA에 저장할 때 까지 id 값이 없다. id 값이 없다는건 새로 생성한 객체라는 뜻이므로 em.persist()를 통해 신규 등록한다. 

18번줄 : else 이면 이미 db에 등록된 것이므로 update 비슷하게 한거라 생각하면 된다. 

 

 

 


강의3. 상품 서비스 개발

ItemService.java

상품 서비스는 상품 리포지토리에 단순히 위임만 하는 클래스