次のような公開遺伝子情報のスニペットを表す MongoDB データベースがあります。
{
_id: 1,
symbol: "GENEA",
db_references: {
"DB A": "DBA000123",
"DB B" ["ABC123", "DEF456"]
}
}
@Document
次のように、これを注釈付きの POJO クラスにマップしようとしています。
@Document
Public class Gene {
@Id
private int id;
private String symbol;
private Map<String,Object> db_references;
//getters and setters
}
MongoDB のスキーマレス設計の性質上、db_references
フィールドには可能なキーの長いリストを含めることができ、値は配列またはその他のキーと値のペアである場合があります。Gene
私の主な関心事は、複数のドキュメントを取得してそれらをスライスできる速度db_references
です。
私の質問: 取得のパフォーマンスを最適化するために、このフィールドを表す最良の方法は何ですか? カスタム POJO を定義して、このフィールドをそれにマップする必要がありますか? にするべきBasicDBObject
ですか?それとも、Spring Data でドキュメントをまったくマップせず、MongoDB Java ドライバーを使用して、返された DBObjects を解析するのが最善でしょうか?