是否可以限制通过Hibernate Criteria获取的关联实体的数量?考虑以下两个实体:
@Entity
public class History {
@OneToMany
private List<Entry> entries
...
}
@Entity
public class Entry {
@ManyToOne
private History history;
private DateTime date;
...
}
我需要使用Criteria来获取所有History实体,但只返回每个History实体的最新Entry实体。换句话说,每个History的条目字段应仅包含该History实体的最新条目。即使我在历史记录中查询(使用Criteria),我也需要执行类似订单和限制条目的操作。
这是可能的,如果是这样的话?
答案 0 :(得分:1)
这可以通过在Criteria上调用以下内容来完成:
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)
使用此ResultTransformer,将仅填充与限制匹配的关联实体。