인프런/실전! 스프링 데이터 JPA

끝) [미완] 나머지 기능들 - Specifications(명세),Query By Example,Projections,네이티브 쿼리

backend dev 2024. 6. 14.

 

복잡도에 비해서 실무에서는 많이 사용되지않는다. [ 다른 대안도 존재하기도 하고 ]

왜 실무에서 쓰기에 애매한지를 초점에 맞춘다.

 

 

Specifications (명세)

 

도메인 주도 설계(Domain Driven Design)라는 책에는 SPECIFICATION(명세)라는 개념을 소개

 

스프링 데이터 JPA는 JPA Criteria를 활용해서 이 개념을 사용할 수 있도록 지원

 

[ JPA Criteria를 사용하면 코드가 읽기 어려워서 실무에서는 안쓴다고 한다. 이런게 있구나로 보면된다.]

 

술어(predicate)

- 참 또는 거짓으로 평가

- AND OR 같은 연산자로 조합해서 다양한 검색조건을 쉽게 생성(컴포지트 패턴)

- 예) 검색 조건 하나하나

- 스프링 데이터 JPA는 org.springframework.data.jpa.domain.Specification 클래스로 정의

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글