你好。
我正在尝试在以下情况下使用 EclipseLink JPA 按查询创建组:
emum BeanType
class BeanParam { id, beanType, @ManyToOne param }
enum ParamType
class Param { id, name, paramType, foo, bar }
我希望通过 BeanType 查询 <ParamType,>> 的映射,这意味着附加到该 BeanType 的参数按其参数类型分组。
你们将如何做到这一点?
谢谢!
我会首先执行一个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);
}