2017-11-16 2 views
1

가 나는 몽고 저장소 인터페이스에 사용자 지정 쿼리 방법을 추가했습니다 :Spring 데이터의 단일 findyBy 메소드에서 AND 및 OR을 사용하여 MonogDB에 액세스 할 수 있습니까?

// firstName과 성

위 : 다음과 같은 기준을 충족 종업원을 반환하는

Employee findByFirstNameAndLastName(Stirng firstName, String lastName); 

방법은 정말 잘 작동합니다. 스프링 데이터 덕택입니다.

는하지만, 나는 이런 식으로 뭔가를 원하는 :

다음과 같은 기준에 따라 직원의 세부 사항을 반환해야합니다 방법 위
Employee findByFirstNameAndLastNameOrDesignation(Stirng firstName, String lastName, String designation); 

:

// firstName과 (성 또는 지정)

한 가지 방법으로 AND 및 OR을 사용할 수 있습니까?

+0

글쎄,이 경우에는 CustomRepository가 필요합니다. –

답변

1

스프링 데이터는 강력하지만 그렇게 강력하지는 않습니다.

1) 및 (B 또는 C)

또는

2

) (A와 B) 또는 C 등 ...

: SpringData 당신이 원하는 것을 알고있는 방법은 없습니다

@NamedQuery 또는 @Query를 사용할 수 있습니다.

또 다른 옵션은 Bool 대수를 이용하는 것입니다. 예를

A와 (B 또는 C) == (A와 B) 또는 (A 및 C)의 경우

그래서 당신은 다음과 같은 이름을 가진 방법이있을 수 있습니다 findByAandB_AandC를.