1. And 사용하기 - findBy + 조건1 +And + 조건2 + ...
findBy[조건1]And[조건2]And... 이와 같이 findBy 뒤에 계속 조건과 And를 원하는만큼 번갈아가면서 붙여주면 된다.
*이 때, 중요한 것은 각 조건과 And 모두 첫글자를 대문자로 써줘야 한다는 것! 아래 예제를 보면 무슨 말인지 이해할 수 있을 것이다.
[ And 예제 ]
예제는 아래와 같다. 출발지(departure)와 도착지(destination)이 같은 Post를 모두 찾아오고 싶다면 findAllByDepartureAndDestination을 사용하면된다.
우선 repository에 선언을 해주고,
List<Post> findAllByDepartureAndDestination(Place departure, Place destination);
이런 식으로 컨트롤러에서 사용하면 된다.
List<Post> result = postRepository.findAllByDepartureAndDestination(departure, destination);
2. Or 사용하기 - findBy + 조건1 +Or + 조건2 + ...
findBy[조건1]Or[조건2]And... 이와 같이 findBy 뒤에 계속 조건과 Or를 원하는만큼 번갈아가면서 붙여주면 된다.
*이 때, 중요한 것은 각 조건과 Or 모두 첫글자를 대문자로 써줘야 한다는 것! 아래 예제를 보면 무슨 말인지 이해할 수 있을 것이다.
[ Or 예제 ]
예제는 아래와 같다. 출발지(departure)와 도착지(destination) 중 하나라도 일치하는 Post를 모두 찾아오고 싶다면 findAllByDepartureOrDestination을 사용하면된다.
우선 repository에 선언을 해주고,
List<Post> findAllByDepartureOrDestination(Place departure, Place destination);
이런 식으로 컨트롤러에서 사용하면 된다.
List<Post> result = postRepository.findAllByDepartureOrDestination(departure, destination);
And, Or 뿐만 아니라, not, between 같은 것들도 사용할 수 있다.
사용방법은 And, Or 처럼 사용하면 되는데, 아래 공식문서를 참고하면 된다.
참고문서 : https://docs.spring.io/spring-data/data-commons/docs/1.6.3.RELEASE/reference/html/repositories.html
'JPA' 카테고리의 다른 글
[JPA] findAll 일 때 정렬하기 (OrderBy, Sort) (0) | 2022.07.14 |
---|