Java 如何在加入Hibernate条件后获取行数?
我尝试创建请求:Java 如何在加入Hibernate条件后获取行数?,java,mysql,hibernate,criteria,Java,Mysql,Hibernate,Criteria,我尝试创建请求: 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 如何
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
如何在不调用
criteria.list().size()
的情况下返回340
?我认为在使用Projections.rowCount()
hibernate忽略
criteria.setFetchMode(字段,FetchMode.JOIN)代码>
您可以使用createAlias
criteria.createAlias(“字段”,“字段”,JoinType.LEFT\u OUTER\u JOIN)代码>
在这两种情况下,通过在hibernate配置文件中使用hibernate.show\u sql
检查hibernate生成的查询