2

findByName(…)すべてが正常に動作するように、Spring Data リポジトリのメソッドを作成すると。ただし、findByField1AndName(…)Spring Data MongoDB を使用すると、最後のパラメーターに対してのみクエリが生成されます。

{ name : 'qwerty' }

しかし、私はそれが生成されると予想しました

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

どうしたの?助けてください。

UPD1:誰かがこのような問題を抱えている場合は、@Query アノテーションを使用して手動でクエリを作成できます。以下の例をご覧ください。

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

2 に答える 2

1

何かが欠けているかどうかはわかりません。1.0.3 と 1.0.4 を試しましたが、まだ動作しません。現在動作する唯一のバージョンは 1.0.1 のようです

1.0.3 と 1.0.4 で findByZipCodeAndName のようなものを試したとき、これがログに表示されます

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

1.0.1 では、期待どおりに動作します。

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

どうやら新しいリリースでは、最初のフィールドのみが解釈され、クエリされます。

于 2012-08-31T21:15:51.227 に答える
0

1.0.2 と 1.1.M1 に存在するバグに遭遇したようです。修正はしばらく前から行われているため、最新バージョン (1.0.4、1.1 RC1) にアップグレードするとうまくいくはずです。

于 2012-08-26T10:59:54.300 に答える