상품 주문
order Entity에서
- 객체는 자율적이여야한다.
- 따라서 필요한 create, remove, 자신의 주요 행동 메서드는 자신이 직접가지고있는것이 자율적이다.(캡슐화)
- 예시
1 | package jpabook.jpashop.domain; |
order service
1 | // 주문 저장 -> 실제로 위에 연관관계에있는 모든 data save됨. cascade.all 옵션때문에 |
- 팁
1 | // 다른곳에서 new Order() 형식으로 생성하지못하도록 막음 |
- 도메인 모델 패턴
- 참고: 주문 서비스의 주문과 주문 취소 메서드를 보면 비즈니스 로직 대부분이 엔티티에 있다. 서비스 계층은 단순히 엔티티에 필요한 요청을 위임하는 역할을 한다. 이처럼 엔티티가 비즈니스 로직을 가지고 객체 지향의 특성을 적극 활용하는 것을 도메인 모델 패턴(http://martinfowler.com/eaaCatalog/ domainModel.html)이라 한다. 반대로 엔티티에는 비즈니스 로직이 거의 없고 서비스 계층에서 대부분의 비즈니스 로직을 처리하는 것을 트랜잭션 스크립트 패턴(http://martinfowler.com/ eaaCatalog/transactionScript.html)이라 한다.
주문 검색 기능 개발
동적 쿼리.
추천 X
- String 으로 조합
- Criteria
무조건 QueryDSL