我尝试创建请求:
Criteria criteria = session.createCriteia(User.class);
criteria.setFetchMode(field, FetchMode.JOIN);
int count1 = criteria.list().size(); //340
Number count2 = (Number) criteria.setProjection(Projections.rowCount()).uniqueResult(); //279
如何在不致电340
的情况下退回criteria.list().size()
?
答案 0 :(得分:1)
我认为使用Projections.rowCount()
hibernate会忽略
criteria.setFetchMode(field, FetchMode.JOIN);
您可以使用createAlias
criteria.createAlias("field","field", JoinType.LEFT_OUTER_JOIN);
在两种情况下使用Hibernate配置文件中的hibernate.show_sql
检查hibernate生成的查询