hibernate - 在 Hibernate 标准中使用 setFetchMode 时,如何对 oneToMany 表设置限制

标签 hibernate criteria

我正在努力创建一个 Hibernate 条件查询,它使用 setFetchMode(... SELECT) 并对返回的子记录进行限制。如果我按照推荐使用 creteAlias,它会产生一个内部连接,从而几乎不可能实现准确的分页。

代码如下:-

Criteria criteria = this.getSession().createCriteria(Mother.class);
criteria.addOrder(Order.asc("title"))
// .createAlias("children", "childrenAlias") had to remove
.add(Restrictions.eq("childAge", "5")) // how do I reference childAge?
.setMaxResults(details.getMaxRows())
.setFirstResult(details.getStart())
.setFetchMode("children", FetchMode.SELECT);

最佳答案

天知道我发这个贴的时候在哪。以为我会发布答案来整理。

我缺少的代码如下:-

Criterion child = Restrictions.eq("childAlias.childName", "Albert");
criteria.createAlias("children", "childAlias", CriteriaSpecification.INNER_JOIN);
criteria.add(child);

关于hibernate - 在 Hibernate 标准中使用 setFetchMode 时,如何对 oneToMany 表设置限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5572161/

相关文章:

java - 在组件扫描中添加属性

hibernate - 如何使用注释指定列的组合应该是唯一约束?

java - Hibernate @BatchSize 和 JPA Criteria API

java - Criteria 部分获取 @ManyToOne 关系

hibernate - 如何将默认行为设置为Grails的标准?

mongodb - 如何使用InsideCircle和另一个术语查询MongoDB?

java - @OneToOne 作为 ManyToOneType 返回

hibernate - 使用条件查询限制加入 hibernate 搜索查询

object - 我不能在 Mongoose 中使用对象进行查询吗?

hibernate - GORM - 在 Grails 中查询一对多关联