关联的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