표현 영역의 3가지 책임 사용자가 시스템을 사용할 수 있는 흐름을 제공하고 제어한다. 사용자의 요청을 알맞은 응용 서비스에 전달하고 결과를 사용자에게 제공한다. 사용자의 세션을 관리한다. 값 검증 값 검증은 표현 영역과 응용 서비스 두 곳에서 모두 수행할 수 있다. 응용 서비스에서의 검증 public class JoinService { @Transactional public void join(JoinRequest joinReq){ // 값의 형식 검사 checkEmpty(joinReq.getId(), "id"); checkEmpty(joinReq.getName(), "name"); if (joinReq.getPassword().equarls(joinReq.getConfirmPassword())) thro..
JPA 에서는 여러가지 동적 쿼리를 할 수 있는 방법들이 주어진다. JPQL,Specification,QueryDSL,Criteria 등이 있다. 그 중에 Specification 에 대해 알아보자. (보편적으로 실무에서는 가독성 & 간편함 때문에 Specification보단 QueryDSL을 많이 쓴다. 그냥 이런 기술이 있구나 하고 알아두면 좋을 거 같다.) User 엔티티 @Entity @Table(name = "user") public class User { @Id @GeneratedValue private Long id; private Integer age; private String userId; private String nickName; } Specification이란? 검색 조건을 다양하..