2010-10-06 91 views

回答

0

肯定的:

session.CreateQuery(@" 
     select distinct a 
     from A a 
     join a.Bs b 
     where b.b = 'bla' 
     ").List<A>(); 

如果关系是双向的(即B具有所涉及的参考),那就更简单了:

select distinct b.A 
from B b 
where b.b = 'bla' 

我假设你的意思了Bb等于“喇嘛”。如果你的意思是部分 B.b,你可以使用LIKE运营商就像在SQL

+0

谢谢。 SQL和HQL是好的,但我想知道如何用ICriteria来做到这一点。我想我必须创建一些别名,如list.b ??? – cs0815 2010-10-06 13:18:14

+0

我真的不记得如何用Criteria做到这一点。但你为什么需要这个? – 2010-10-06 14:07:19

+0

我正在使用一些现有的东西,例如,有这样的方法:ICriteria GetPagedCriteria (PagedRequest请求,布尔排序) – cs0815 2010-10-07 11:48:48

相关问题