2016-06-28 3 views
0

에서 여러 단어 검색 나는 PagingAndSortingRepository 있습니다. Like은 꽤 가깝지만 문자열에서 단어가 어떻게 발생하는지에 따라 순서가 다릅니다.
명확한 설명을 위해 : 주문 의존성은 내가 원하지 않는 것입니다. 검색 문자열이 순서와 무관하기를 ​​원하므로 LIKE은 내가 찾고있는 것이 아닙니다.스프링 데이터 저장소

문자열을 찾을 때 여러 검색어를 사용하는 것이 꽤 일반적이라고 생각합니다. 실행 SQL을 제공하여 구현할 수는 있지만 실제로 표현할 수있는 방법이 있다면 모호합니다. 봄 데이터의 용어? 오전

생산을 위해 postgresql을 사용하고 개발/테스트를 위해 h2를 사용하고 있습니다.

+0

I 그것이 당신의 문제를 해결한다고 생각하지 않는다고 생각하지만 "IN"을 살펴보십시오 : http://stackoverflow.com/questions/23902954/spring-data-can-it-find-by-tw-values-of -the-same-field-without-writing-the-imp – alexbt

+0

필자는 'IN'이 ids 나 유사한 것들과 같은 정확한 일치를 볼 수 있다고 말할 수있는 한. 하위 문자열 검색이 더 필요합니다. – sveri

+0

순서가 중요한 경우''% % first % second % third % ''와 같은 식으로'LIKE'를 사용하지 못하도록 막으시겠습니까? 성과는 시시하지만 당신이 찾고있는 것을 찾을 수 있어야합니다. –

답변

0

메소드 이름에 In을 사용하십시오. 귀하의 경우는 그렇게 볼 수 있었다 :

public interface BrowserLinkPagination extends PagingAndSortingRepository<BrowserLink, Long> { 
    List<BrowserLink> findByUserAndUriIn(User user, List<String> uri, Pageable pageable); 
} 

을 당신은 봄에 의해 생성 된 표준 API를 사용하는 경우, 브라우저 URI의 사용은 아주 간단합니다 - 그냥 주소를 입력 :

/your_api/browserlink/search/findByUserAndUriIn?user=xxx&uri=uri1,uri2,uri3 
관련 문제