- DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Department. class )
- detachedCriteria.add(Restrictions.eq("name" , "department" )).createAlias( "employees" , "e" ).add(Restrictions.gt(( "e.age" ), new Integer( 20 )));
Department和Employee是一对多关联,查询条件为:
名称是“department”开发部门;
部门里面的雇员年龄大于20岁;
以上内容来自:Hibernate一对多查询
但是如果你注意一下他生成的sql语句就会发现,其实他就是使用了普通的inner join的方式关联查询了两个表。
这回产生一个问题,就是:如果子表有两条数据关联主表的同一条数据的结果,那么查询结果会多出来一条。
那么hibernate应该是在内部进行了unique。