【问题标题】:Hibernate Criteria query on association关于关联的 Hibernate Criteria 查询
【发布时间】:2011-01-26 21:13:30
【问题描述】:

我将如何使用条件 API 执行以下 Hibernate 查询。 我有一个带有列表子对象的父对象。我想搜索所有父母并找到哪些父母包含指定的孩子。 即List<Parent> findParents(Child child);

谢谢。

【问题讨论】:

    标签: hibernate criteria associations


    【解决方案1】:

    这似乎对我有用。产品是父级,成分是子级。它有望找到所有包含给定成分的产品。但是,我无法对此进行全面测试。

    public IList<Product> GetProductsWithIngredient(Ingredient ingredient)
    {
        using (ITransaction transaction = session.BeginTransaction())
        {
            ICriteria criteria = session.CreateCriteria<Product>();
            criteria.CreateCriteria("Ingredients")
            .Add(Restrictions.Eq("GUID", ingredient.GUID));
    
            return criteria.List<Product>();
        }
    }
    

    希望这会有所帮助:)

    注意:GUID 是我的唯一标识符。

    编辑:我刚刚用多个产品对此进行了测试,它似乎返回了正确的产品。感谢zoidbeck

    【讨论】:

      【解决方案2】:

      在 Java 中是这样的:

      Criteria criteria = session.createCriteria(Parent.class,"parent")
          .createAlias("child","child")
          .add(Restriction.eq("child.name",child.getName());
      
         List<Parent> parents = criteria.list();
      

      应该会给你答案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-03
        • 2010-11-21
        • 2010-09-20
        • 1970-01-01
        • 2010-10-17
        相关资源
        最近更新 更多