SpringデータMongoを使用してプログラムをMongoDBのインスタンスとインターフェースしています。私はMongoの中に以下のようなタイプを保存します。一般的なオブジェクトをSpringデータで使用するMongo
@Document
class A<T> {
@Id String id;
Instant createdAt;
List<T> values;
}
ご覧のとおり、ジェネリックタイプT
は、メイン文書内のプロパティで使用されています。私はクエリを使ってそのようなドキュメントを抽出する際にいくつか問題があります。私は現在、次のような文を使用しています。
List<A> list =
mongoTemplate.find(Query.query(Criteria.where("id").in("id1", "id2"),
A.class,
"collectionName");
残念ながら、上記のコードでは一般的なフィールドはサポートされていません。私は文書とMongoTemplate
のコードを見ましたが、何も見つかりませんでした。
その他テンプレートのクラスは、このサポートを提供しています。たとえば、RestTemplate
とします。 MongoTemplate
(たとえばthis)のようなものを実現するためにParameterizedTypeReference<T>
を使用するexchange
メソッドの多くのシグネチャがあります。
私の意見では、MongoTemplate
にも同様のものがあると便利です。
抽出プロセス中にジェネリックタイプを処理する方法はありますか?
ありがとうございました。
いくつかのタイプに 'T'を結合し、 ''のサブタイプでないとは、ここでもジェネリック型を使用するにはポイントがありません。あなたは 'List
@OliverGierke私の質問が更新されました。質問があなたに何かを傷つけるなら、私はお詫び申し上げます。私の意図ではありませんでした。 –