주문 도메인 개발

2023. 9. 29. 00:06LECTURES/실전! 스프링 부트와 JPA 활용

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

주문 리포지토리 개발

주문 서비스 개발

주문 기능 테스트

주문 검색 기능 개발

검색 조건 파라미터

검색 동적 쿼리 JPQL로 처리

검색 동적 쿼리 JPA Criteria로 처리

Querydsl을 사용하여 해결

public List<Order> findAll(OrderSearch orderSearch){
    QOrder order = QOrder.order;
    QMember member = QMember.member;

    return query
            .select(order)
            .from(order)
            .join(order.member, member)
            .where(statusEq(orderSearch.getOrderStatus()),
                    nameLike(orderSearch.getMemberName()))
            .limit(1000)
            .fetch();
}

private BooleanExpression statusEq(OrderStatus statusCond){...}

private BooleanExpression nameLike(String nameCond){...}

참고

도메인 모델 패턴 vs 트랜잭션 스크립트 패턴

  • 도메인 모델 패턴 : 서비스 계층은 단순히 엔티티에 필요한 요청을 위임하는 역할을 하고, 엔티티가 비즈니스 로직을 가지고 객체 지향의 특성을 적극 활용하는 것
  • 트랜잭션 스크립트 패턴 : 엔티티에는 비즈니스 로직이 거의 없고, 서비스 계층에서 대부분의 비즈니스 로직을 처리하는 것ItelliJ 단축키
  • ctrl + alt + m : 드래그한 부분 메서드로 만들어줌
  • ctrl + alt + p : 파라미터로 만들어줌

 

 

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

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

www.inflearn.com

'LECTURES > 실전! 스프링 부트와 JPA 활용' 카테고리의 다른 글

API 개발 기본 / 고급 준비  (0) 2023.09.29
웹 계층 개발  (0) 2023.09.29
상품 도메인 개발  (0) 2023.09.29
회원 도메인 개발  (0) 2023.09.29
애플리케이션 구현 준비  (0) 2023.09.29