我們目前正在根據名稱查詢返回的兩個字段手動構建地圖,因爲JPA只提供了一個getResultList()。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);
}
但我覺得自定義映射器或類似的會更高性能,因爲這個列表可以很容易地是30,000+結果。
任何創建一個地圖,而無需手動迭代的想法。
(我使用OpenJPA中,不冬眠)
什麼將作爲您的地圖鑰匙嗎? – 2010-12-06 22:04:12
與代碼顯示一樣,數字字段(Long)返回兩個值中的一個。 BUt我可以和任何類型一起生活,只要關鍵是數字,價值就是名字。我添加了更多細節的聲明。 – Eddie 2010-12-06 22:09:34