假设我有一个Post类和一个Tag类。 Post和Tag之间的关系是一对多的。如何编写Hibernate查询以检索具有给定标记的Post对象列表?
public IList<Post> FindByTag(Tag tag)
{
IList<Post> posts;
using (ISession session = HibernateUtil.GetSessionFactory().OpenSession())
{
posts = session.CreateCriteria<Post>()
.Add(...) // what Criteria do I add?
.List<Post>();
}
return posts;
}
答案 0 :(得分:4)
您需要添加别名或标准
session.CreateCriteria<Post>()
.CreateAlias("Tags", "tag")
.Add(Restrictions.Eq("tag.Id", tag.Id))
.List<Post>();