프로그래밍/Spring

[Spring boot / JPA] 5. 상품 도메인 개발

daykim 2023. 7. 2. 23:43
아래 강의 정리
 

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

실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., - 강

www.inflearn.com

목차

  • 상품 엔티티 개발 (비즈니스 로직 추가)
  • 상품 리포지토리 개발
  • 상품 서비스 개발

 

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


구현 기능

  • 상품 등록
  • 상품 목록 조회
  • 상품 수정

 

  • addStock()
    • 재고가 증가하거나, 상품 주문을 취소해서 재고를 다시 늘려야 할 때 사용한다.
  •  removeStock()
    • 만약 재고가 부족하면, 예외가 발생한다.
    • 주로 상품을 주문할 때 사용한다.

 

 

상품 리포지토리 개발


  • save()
    • id가 없으면, 신규로 보고 persist() 실행한다.
    • id가 있으면, 이미 DB에 저장된 엔티티를 수정한다고 보고 merge()를 실행한다.
      자세한 내용은 뒤에 나온다.

 

 

상품 서비스 개발


  • 상품 서비스는 상품 리포지토리에 단순히 위임만 하는 클래스
  • 상품 테스트는 회원 테스트와 비슷하므로 생략