如何返回地图< Key,Value>与Hibernate \HQL [英] How to return Map<Key, Value> with Hibernate\HQL

查看:95
本文介绍了如何返回地图< Key,Value>与Hibernate \HQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  @Entity 
@Table(name =rank)
class Rank实现Serializable {
private int id;
private int rank_id;
私人日期creationDate;
...
// getters\setters ...
}

我想查询这个表并将结果放入一个HashMap!
如下:

  Map< Integer,Rank> = session.createSQL(select new map ...)。list(); 

是否可以将实体作为地图的值?



我可以得到一个代码示例吗?

解决方案

是的,例如:



选择新地图(r.id,r)FROM Rank r



但是,这将返回一个地图列表。你应该看看这里来更好地理解。



编辑:为了更好地解释,返回将如下所示:

 清单<地图< Long,Rank>> (列表< Map< Long,Rank>>)session.createQuery(select new Map< r.rankId,r> FROM Rank r)。 

每个记录都是一个Map。不幸的是,它必须是手动的:

  List< Rank>等级=(List< Rank>)session.createQuery(select new r FROM Rank r).list(); 
地图< Long,Rank> mapRanks = new HashMap< Long,Rank>();
for(Rank rank:ranks){
if(!map.contains(rank.getId()){
map.put(rank.getId(),rank);
}
}


I have an entry as follow:

@Entity
@Table(name="rank")
class Rank implements Serializable {
 private int id;
 private int rank_id;
 private date creationDate;
 ...
 // getters\setters...
}

I would like to query this table and put the results into a HashMap! as follow:

Map<Integer, Rank> = session.createSQL("select new map...").list();

Is this possible to put the entity as the value of the map?

Can I get a code example?

解决方案

Yes, for example:

Select new Map(r.id,r) FROM Rank r

But that will return a list of Maps. You should take a look here to understand better.

Edit: To explain better, the return will be something like this:

List<Map<Long, Rank>> ranks = (List<Map<Long, Rank>>) session.createQuery("select new Map<r.rankId,r> FROM Rank r").list();

It is one Map for each record. To put all in only one map, unfortunately, it has to be manually:

List<Rank> ranks = (List<Rank>) session.createQuery("select new r FROM Rank r").list();
Map<Long, Rank> mapRanks  = new HashMap<Long, Rank>();
for (Rank rank : ranks) {
  if (!map.contains(rank.getId()) {
    map.put(rank.getId(), rank);
  }
}

这篇关于如何返回地图&lt; Key,Value&gt;与Hibernate \HQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆