您的位置:首页 > 其它

hibernate一对多关联查询去重 criteria设置 解决分页条数不正确的问题

2017-07-29 00:02 483 查看
Criteria criteria=classroomDao.getCriteria(new classroom());
criteria.setFetchMode("studentList", FetchMode.SELECT);
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);


后来在一对多 多对一双向关联的另一种情况下,发现此代码无效了,经过网上反复搜索,终于在一英文网页上找到了另一种方式,完美解决此问题。代码如下:

DetachedCriteria idsOnlyCriteria = DetachedCriteria.forClass(Classroom.class);

//此方法代码为添加的查询条件,比如.add()等
setQueryConditon(idsOnlyCriteria,myClassroom);

idsOnlyCriteria.setProjection(Projections.distinct(Projections.id()));

criteria.add(Subqueries.propertyIn("id", idsOnlyCriteria));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: