【问题标题】:Jpa Group By Query Returning Map<Enum, List<Bean>>Jpa Group By Query 返回 Map<Enum, List<Bean>>
【发布时间】:2012-06-29 16:34:49
【问题描述】:

你好。

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

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

枚举参数类型
类参数 { id, name, paramType, foo, bar }

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

你们将如何完成这项工作?

谢谢!

【问题讨论】:

    标签: hibernate jpa eclipselink


    【解决方案1】:

    我会先执行一个 JPQL 查询:

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

    然后我将遍历返回的List&lt;Param&gt;,并按 paramType 对它们进行分组。使用番石榴,它将是:

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

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 2020-02-08
      • 2020-02-22
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      相关资源
      最近更新 更多