【问题标题】:Hibernate Restcrition Criteria OR with DetachedCritera休眠限制条件或使用 DetachedCritera
【发布时间】:2012-10-28 16:06:27
【问题描述】:

我正在尝试创建一个具有 OR 限制的分离条件

    DetachedCriteria subquery = DetachedCriteria.forClass(Component.class);
    subquery.createCriteria("review").add(Restrictions.eq("owner", user));
    subquery.createCriteria("review").createCriteria("observers").
                                   add(Restrictions.eq("id", user.getId())); 

所以基本上我需要将 Restriction.or 放在上面代码的第二行和第三行,但是 Restriction.or 不包括 DetachedCritera。所以我需要做这样的事情

  Restrictions.or(
        subquery.createCriteria("review").add(Restrictions.eq("owner", user)),
        subquery.createCriteria("review").createCriteria("observers").
                                   add(Restrictions.eq("id", user.getId()));

但是这不会编译。那么我该如何实现呢?有什么建议吗?

提前致谢。 干杯

【问题讨论】:

    标签: hibernate criteria restrictions detachedcriteria


    【解决方案1】:
    DetachedCriteria subquery = DetachedCriteria.forClass(Component.class, "component");
    subquery.createAlias("component.review", "review");
    subquery.createAlias("review.observers", "observer", Criteria.LEFT_JOIN);
    subquery.add(Restrictions.or(Restrictions.eq("review.owner", user),
                                 Restrictions.eq("observer.id", user.getId())));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-03
      • 2011-02-27
      • 1970-01-01
      • 2020-07-14
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多