2011-05-25 99 views
0

我想獲取所有StatoRete(主實體),但只填充具有屬性Done = 0的實體的Dettagli集合(詳細實體)。 此查詢不會返回StatoRete並且沒有Done = 0的詳細信息,這就是問題所在。獲取所有主實體,但只有一些詳細信息

Session.CreateQuery("select st from StatoRete st left join fetch st.Dettagli dett where dett.Done=0 and st.Data<:data") 
.SetDateTime("data",DateTime.Now.AddMinutes(parametri.GetTempoAccorpamento())) 
.SetResultTransformer(new DistinctRootEntityResultTransformer()).List<StatoRete>(); 

回答

0

我不知道NHibernate的,但是Hibernate支持with關鍵字:

select st from StatoRete st 
left join fetch st.Dettagli dett with dett.Done = 0 
where st.Data < :data 
+0

不起作用。我得到: NHibernate.Hql.Ast.ANTLR.SemanticException:與 - 條款不允許提取關聯;使用過濾器[從StatoRete中選擇st st st。left join fetch st.Dettagli dett with dett.Done = 0 where st.Data <:data] – 2011-05-25 09:13:00