0

こんにちは。

次のシナリオで、EclipseLink JPAを使用してクエリでグループを作成しようとしています:

emum BeanType
クラス BeanParam { id, beanType, @ManyToOne param }

enum ParamType
クラス Param { id、名前、paramType、foo、bar }

<ParamType, List<Param>> の Map を BeanType でクエリしたいと考えています。これは、その 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 に答える