2014-12-09 2 views
0

작동하지 제한하려는 JPA 저장소로 :스프링 데이터 JPA가 주어

public interface CityRepository extends JpaRepository<City, Long> 

그리고라는 방법

public List<City> findFirst4ByHighlightedAndCountryCodeOrderByNameAsc(Boolean highlighted, String countryCode); 

내가이 쿼리 받고 있어요 : 당신으로

select city0_.idCity as idCity1_2_, city0_.countryCode as countryC2_2_, city0_.highlighted as highligh3_2_, city0_.latitude as latitude4_2_, city0_.longitude as longitud5_2_, city0_.name as name6_2_, city0_.numPublishedItems as numPubli7_2_, city0_.idRegion as idRegion8_2_, city0_.url as url9_2_ from web_city city0_ where city0_.highlighted=? and city0_.countryCode=? order by city0_.name asc 

을 볼 수 있듯이 한계는 적용되지 않습니다. 내가 뭘 잘못하고있어?

+0

어떤 스프링 데이터 JPA 버전을 사용하고 있습니까? –

+0

나는 1.1.9.RELEASE를 사용하고 있습니다. – ilopezluna

답변

1

당신이 스프링 데이터 JPA 1.7 이상을 사용하고 있는지 확인 :). 이것은 일반적으로 종속 버전을 원하는 버전으로 설정하여 수행됩니다. 당신의 pom.xml

<dependency> 
    <groupId>org.springframework.data</groupId> 
    <artifactId>spring-data-jpa</artifactId> 
    <version>1.7.1.RELEASE</version> <!-- current version as of today --> 
</dependency> 
사용한 버전으로 1.1.9을 나열 코멘트에서

, 그래서 당신은 당신의 프로젝트를 빌드 봄 부팅을 사용하는 가정입니다. 1.1.9의 Boot는 여전히 Dijkstra 릴리스의 Spring Data를 사용하는데 이는 Spring Data JPA가 1.6.4 버전에 포함됨을 의미합니다. 이 같은 최신 버전의 구성에 메이븐 속성을 업그레이드하려면 :

<properties> 
    … <!-- other defined properties --> 
    <spring-data-releasetrain.version>Evans-SR1</spring-data-releasetrain.version> 
</properties> 

이것은 에반스 릴리스 트레인의 첫 번째 서비스 릴리스에 봄 데이터 종속성을 업그레이드하고 스프링 데이터 JPA 1.7.1이 포함됩니다.

0

다음 구문을 사용해도 되나요? 이것은 당신을 도울 수 있습니다.

List<User> findFirst10ByHighlightedAndCountryCode(Boolean highlighted, String countryCode, Sort sort); 

정렬 인수를 정렬 순서로 제공하십시오. 이 도움이

희망 당신은

+0

고마워요, 시도했지만 작동하지 않습니다. 더 많은 아이디어? – ilopezluna

+0

이 문제를 해결할 수 있습니다. int queryLimit = 10; 목록 findByHighlightedAndCountryCode (부울 강조 표시된 문자열 countryCode, 새 PageRequest (0, queryLimit)); 구성 문제가있는 것 같습니다. 나는 비슷한 코드를 가지고 있으며 나를 위해 잘 작동한다. –

+0

구성에 문제가 있습니까? @EnableAutoConfiguration으로 봄 부팅을 사용하고 있는데 문제가 될 수 있습니까? – ilopezluna

관련 문제