【问题标题】:Hibernate - Criteria with restriction on parent classHibernate - 限制父类的标准
【发布时间】:2018-02-28 08:22:08
【问题描述】:

我有一个孩子 B 的对象 A。我为 B 创建了一个标准,但尝试对 A 使用限制。但是,这不起作用:

Criteria criteria = getCurrentSession().createCriteria(B.class, "p");
criteria.add(eq("B.name", nameB));
criteria.add(eq("B.a.name", nameA));

return criteria.list();

我收到以下错误:

org.hibernate.QueryException: could not resolve property: a.name of: model.B

如果重要的话,我在 B.a 属性上有一个 FetchType.LAZY。我尝试将其更改为 FetchType.EAGER,但没有帮助。

【问题讨论】:

    标签: hibernate criteria hibernate-criteria restriction


    【解决方案1】:

    感谢文档,我解决了。

    criteria.add(eq("nom", nomB)).setFetchMode("a", FetchMode.JOIN).createCriteria("a").add(eq("nom", nomA));
    

    FetchMode.JOIN 类似于 FetchMode.EAGER,但最后一个已弃用。

    【讨论】:

      猜你喜欢
      • 2011-03-13
      • 2010-09-26
      • 1970-01-01
      • 2011-03-01
      • 2016-09-03
      • 2014-04-05
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      相关资源
      最近更新 更多