Specifications (명세) 도메인 주도 설계(Domain Driven Design - 책)에는 Specification(명세)라는 개념을 소개한다. 스프링 데이터 JPA는 JPA Criteria를 활용해서 이 개념을 사용할 수 있도록 지원해준다. Criteria는 JPQL 작성을 쉽게 도와주는 빌더 클래스다. 자바 코드 기반이므로 컴파일 시점에서 문법 오류를 체크 가능하다. 단, 사용이 복잡하여 실무에서 직관적으로 사용하기 힘들다. 명세를 이해하기 위한 키워드는 술어(predicate)이다. 술어 - 사전 1. (언어학) 서술어 2. (논리학) 논리의 판단·명제에 있어서 주사(主辭)에 대하여 긍정 또는 부정의 입언(立言)을 하는 개념. JPA에서 술어란 다음과 같다. 참 또는 거짓으로 평가 A..