我们目前正在根据名称查询返回的两个字段手动构建地图,因为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