2012-06-29 25 views
0

您好。Jpa Group按查询返回地图<枚举,列表<Bean>>

我试图完成创建在下列情况下使用的EclipseLink JPA通过查询一组:

emum BeanType
类BeanParam {ID,beanType,@ManyToOne PARAM}

枚举ParamType
类帕拉姆{ID,名称,paramType,富,酒吧}

我想查询的地图< ParamType的,名单<帕拉姆> >,由BeanType,这意味着连接到该BeanTy参数pe按其paramTypes分组。

你们如何做这项工作?

谢谢!

回答

0

我会首先执行JPQL查询:

select distinct param from BeanParam beanParam 
inner join beanParam.param param 
where beanParam.beanType = :beanType 

然后我会遍历的List<Param>回来,并把它们按paramType。随着番石榴,这将是:

ListMultimap<ParamType, Param> m = ArrayListMultimap.create(); 
for (Param param : params) { 
    m.put(param.getParamType(), param); 
} 
相关问题