请教hibernate criteria 复合查询问题
hibernate3,2个数据表T_User,T_Address,使用1对多双向关联 id->uid,然后使用Critieria进行符合查询
数据为
user:
id name password
11 a a
address:
id haddress waddress uid
1 aa bb 11
2 cc dd 11
使用Criteria的复合查询
Criteria c1=se.createCriteria(User.class);
c1.add(Restrictions.eq("id", new Long(11)));
Criteria c2=c1.createCriteria("addresses");//出现问题的地方,这里已经指向子集合的查询了
c2.add(Restrictions.eq("haddress",new String("aa")));//出现问题的地方,具体的子集合属性
Iterator it=c1.list().iterator();
while(it.hasNext())
{
User user=(User)it.next();
Set set=user.getAddresses();
Iterator itt=set.iterator();
while(itt.hasNext())
{
Address ad=(Address)itt.next();
System.out.println(ad.getHaddress());
}}
系统打印出的还是,aa cc
这个就很奇怪了,因为我已经使用了c2作为复合查询的条件,并且也给了相应的参数值,应该返回的数据只有aa才对呀,而且好像子集合的条件都没有起作用一样,所以在这里请教各位老师帮我看看,问题出在哪里了,谢谢。