使用JPA收集字段的平均值

时间:2015-02-10 15:28:59

标签: java hibernate jpa criteria

假设我们有2个实体:

 ----------------------            -------------
|                      | 1      * |             |
|        Teacher       |----------|   Student   |
|                      |          |             |
|----------------------|          |-------------|
|String name           |          |  Float mark |
|List<Student> students|           -------------
 ----------------------

所以,老师有一份学生名单,学生有一个标记。现在,我如何使用Criteria API有效地计算教师的平均分数。

2 个答案:

答案 0 :(得分:1)

在Object1中,列表应该是Object2的列表吗?如果是这样,请检查此问题here以获取JPQL。看起来有一个AVG功能。

答案 1 :(得分:0)

您应该使用Projection来处理这个问题。样本exaple将是......

session.createCriteria(//Your class)
.setProjection(Projections.avg("//property"))