0

你好。

我正在尝试在以下场景中使用 EclipseLink JPA 通过查询来完成创建组:

emum BeanType
类 BeanParam { id, beanType, @ManyToOne 参数 }

枚举 ParamType
类 Param { id, name, paramType, foo, bar }

我希望通过 BeanType 查询 <ParamType, List<Param>> 的 Map,这意味着附加到该 BeanType 的参数按其 paramTypes 分组。

你们将如何进行这项工作?

谢谢!

4

1 回答 1

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);
}
于 2012-06-29T17:30:43.653 回答