2012-08-25 6 views
2

findByName(…)과 같은 스프링 데이터 저장소의 메소드를 만들면 모든 것이 잘 동작합니다. findByField1AndName(…)를 사용하지만 봄 데이터 MongoDB를은 마지막 매개 변수에 대한 쿼리를 생성Spring MongoDB 저장소 쿼리 연결은 어떻게 작동합니까?

{ name : 'qwerty' } 

그러나 나는 그것이

{ field1 : 'something', name : 'querty' } 

문제가 무엇

를 생성 예상? 도와주세요. 누군가가 이러한 문제를 가지고 있다면, 당신은 수동으로 쿼리를 작성하는 @query 주석을 사용할 수 있습니다 , 아래의 예는 :

UPD1는

@Query("{ region: ?0, product: ?1, direction: ?2, deliveryCondition: ?3, sortament: ?4}") 
QuotationKey findByRegionAndProductAndMarketDirectionAndDeliveryConditionAndSortament(
     Geography region, Product product, MarketDirection direction, 
     DeliveryCondition deliveryCondition, Sortament sortament); 

답변

0

당신이 1.0.2 및 1.1에 bug 선물을 통해 발견 보인다 .M1. 수정본이 잠시 나갔기 때문에 최근 버전 (1.0.4, 1.1 RC1)으로 업그레이드하는 것이 트릭을 수행해야합니다.

+0

spring-data-mongodb 1.0.3.RELEASE를 사용했는데 아직 버그가있는 것 같습니다. – Andrey

+0

그렇게 생각한다면 포함 된 테스트 사례와 함께 버그를 제출하십시오 :). –

1

누락 된 항목이 있는지 확실하지 않습니다. 1.0.3 및 1.0.4 시도했지만 여전히 작동하지 않습니다. 나는 1.0.3과 1.0.4와 findByZipCodeAndName 같은 뭔가를 시도했을 때

1.0.1처럼 유일한 작업 버전이 지금 보이는이 내가 로그 1.0.1와

MongoQueryCreator [DEBUG] Created query Query: { "zipCode" : "test"}, Fields: null, Sort: null 

에서 볼 것입니다 그것은 예상대로 작동 : 분명히 첫 번째 필드에 대한 해석 및 쿼리 새로운 릴리스

MongoQueryCreator [DEBUG] Created query { "zipCode" : "test" , "name" : "blah"} 

합니다.

+0

네, 맞습니다. 1.0.1.RELEASE 버전과 호환됩니다. –

관련 문제