在项目中分页查询时我们往往会用到投影(Projection)查询!但是条件是你必须用hibernate框架!
投影(Projection)可以简单的理解为就对你影像简化不让影像呈现为复杂(只体现轮廓),其实我们之所以用投影就是为了缓解查询时的压力!
假如我们统计数据库的总条数!
如果用hibernate!离线查询(getHibernateTemplate().findByCriteria( detachedCriteria ))的数据得到是像sql中select * from 表;可见这样查询并不能减轻查询的压力。这是我们就需要对其投影!
select * from 表 ;这条查询我们需要他编程 select count(*) from表;
detachedCriteria.setProjection(Projections.rowCount()); 这个括号里面的就是查询的条件!
这就是投影!
还有一点要说的是!我们进行查询分页是往往我们还需要查询数据!别忘记把他设置回来!否则只是select count(*)
detachedCriteria.setProjection(null);这就相当于把他恢复了!
就说这么多吧!不对的请指教!(个人理解仅供参考!)