您好。
我想在以下场景中使用EclipseLink JPA通过查询创建一个组:
emum BeanType
类BeanParam {id,beanType,@ ManyToOne param}
枚举ParamType
类Param {id,name,paramType,foo,bar}
我希望通过BeanType查询< ParamType,List< Param>>的地图,这意味着附加到该BeanType的参数按其paramTypes分组。
你们将如何做这项工作?
谢谢!
答案 0 :(得分: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);
}