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

限制通过Hibernate条件加载的关联实体,hibernate,criteria,Hibernate,Criteria,是否可以限制通过Hibernate条件获取的关联实体的数量?考虑以下两个实体: @Entity public class History { @OneToMany private List<Entry> entries ... } @Entity public class Entry { @ManyToOne private History history; private DateTime date; ... } @实体 公共课历史{ @

是否可以限制通过Hibernate条件获取的关联实体的数量?考虑以下两个实体:

@Entity
public class History {

  @OneToMany
  private List<Entry> entries

  ...

}

@Entity
public class Entry {

  @ManyToOne
  private History history;
  private DateTime date;

  ...

}
@实体
公共课历史{
@独身癖
私有列表条目
...
}
@实体
公开课入学{
@许多酮
私史;
私人日期时间日期;
...
}
我需要使用一个条件来获取所有历史实体,但只返回每个历史实体的最新条目实体。换句话说,每个历史记录的条目字段应该只包含该历史记录实体的最新条目。我需要做一些事情,比如按订单和限制进入,即使我正在查询(带条件)历史记录


这可能吗?如果可能,如何实现?

这可以通过调用以下条件来实现:

criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)
使用此ResultTransformer,将仅填充与限制匹配的关联实体