2011-01-15 11 views
3

私は、PostクラスとTagクラスがあるとします。投稿とタグの関係は一対多です。 Hibernateクエリを記述して、指定されたタグを持つPostオブジェクトのリストを取得するにはどうすればよいですか?NHibernateの1対多の条件クエリ

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; 
} 

答えて

4

あなたはエイリアスまたは条件を追加する必要があります

session.CreateCriteria<Post>() 
.CreateAlias("Tags", "tag") 
.Add(Restrictions.Eq("tag.Id", tag.Id)) 
.List<Post>();