2009-08-31 5 views
0
Class A 
{ 
Guid ID{get;} 
ISet<B> ClassBs {get;} 
} 


repository 
public IList<B> GetAsBs(A a) 
{ 
ICriteria ACriteria = Session.CreateCriteria(typeof(A)); 
ICriteria BCriteria = ACriteria.CreateCriteria("ClassBs"); 
A.Add(Restrictions.Eq("ID", a.ID)); 
return BCriteria.List<B>(); 
} 

私はHQLのNPでこれを実現するが、私はそれを返すようにしようとしているエラーを取得しています を基準を使用したいことができますBませんNHibernateの集合体の根IDに基づいて、オブジェクトAのコレクションを取得します

任意のヘルプ私は興味を持っている人のためにHQLを行ってきました

答えて

0

素晴らしいことだ

  public IList<B> GetAsBs(A aClass) 
      { 
      string hql = @" 
       SELECT B 
       FROM A a 
       JOIN  a.ClassBs b 
       WHERE A.ID = :ID 
      "; 
      IQuery query = Session.CreateQuery(hql); 
      query.SetParameter("ID", aClass.ID); 

      return query.List<B>(); 
} 
関連する問題