限制通过Hibernate Criteria加载的关联实体

时间:2010-01-06 15:19:40

标签: hibernate criteria

是否可以限制通过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),我也需要执行类似订单和限制条目的操作。

这是可能的,如果是这样的话?

1 个答案:

答案 0 :(得分:1)

这可以通过在Criteria上调用以下内容来完成:

criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)

使用此ResultTransformer,将仅填充与限制匹配的关联实体。