关联的Hibernate Criteria查询

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

谢谢。


这似乎对我有用。 产品是父母,成分是孩子。 它会希望找到包含给定成分的所有产品。 但是我还没有完全测试过。

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。


在Java中它是这样的:

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

   List<Parent> parents = criteria.list();

应该给你答案。

链接地址: http://www.djcxy.com/p/37073.html

上一篇: Hibernate Criteria query on association

下一篇: Hibernate Criteria returns children multiple times with FetchType.EAGER