JPAはgetResultList()のみを提供しているので、現在、名前付きクエリが返す2つのフィールドに基づいてマップを手動で構築しています。JPAは結果を地図として返すことができますか?
@NamedQuery{name="myQuery",query="select c.name, c.number from Client c"}
HashMap<Long,String> myMap = new HashMap<Long,String>();
for(Client c: em.createNamedQuery("myQuery").getResultList()){
myMap.put(c.getNumber, c.getName);
}
しかし、このリストは3万以上の結果になる可能性があるため、カスタムマッパーや類似のものがより効果的であるように感じます。
マップを手動で反復せずに作成するためのアイデア。
この程度
マップキーとしてはどのようなものが使用されますか? –
コード表示と同様に、数値フィールド(Long)、2つの値のいずれかが返されます。私は任意のタイプで生きることができますが、キーが数値であり、値が名前である限り。私は詳細については宣言を追加しました。 – Eddie