JPA 收集领域的平均值

Average on a field of collection with JPA

假设我们有 2 个实体:

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

所以,老师有学生名单,学生有分数。现在如何使用 Criteria API.

有效地计算教师的平均分

在Object1中,列表应该是Object2的列表吗?如果是这样,请为 JPQL 查看此问题 here。好像有AVG函数。

你应该使用 Projection 来处理这个问题。示例将是...

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