Spring Data JPA - Specifications
Spring Data JPA
백기선님의 강의인 Spring Data JPA 강의를 듣고 공부한 내용을 정리한 글
Specifications
에릭 에반스의 DDD에서 언급하는 Specifications 개념을 차용한 것으로 QueryDSL의 Predicate와 유사하다.
JPA 스펙을 정의하여 사용할 수 있다.
가령 추천수가 가장 많은 댓글의 스펙을 정의해놓고 그 스펙을 JPA 쿼리 메소드에 아규먼트로 넣어서 원하는 스펙의 데이터를 쿼리할 수 있다.
이 Specifications의 장점은 쿼리 메소드를 많이 만들지 않고도 원하는 쿼리를 할 수 있다는 장점이 있다.
Reference
인프런 백기선님의 스프링 Data JPA