hibernate的投影

在项目中分页查询时我们往往会用到投影(Projection)查询!但是条件是你必须用hibernate框架!

投影(Projection)可以简单的理解为就对你影像简化不让影像呈现为复杂(只体现轮廓),其实我们之所以用投影就是为了缓解查询时的压力!

假如我们统计数据库的总条数!

如果用hibernate!离线查询(getHibernateTemplate().findByCriteria( detachedCriteria ))的数据得到是像sql中select * from 表;可见这样查询并不能减轻查询的压力。这是我们就需要对其投影!

select * from 表 ;这条查询我们需要他编程 select count(*) from表;

detachedCriteria.setProjection(Projections.rowCount()); 这个括号里面的就是查询的条件!

这就是投影!

还有一点要说的是!我们进行查询分页是往往我们还需要查询数据!别忘记把他设置回来!否则只是select count(*)

detachedCriteria.setProjection(null);这就相当于把他恢复了!

就说这么多吧!不对的请指教!(个人理解仅供参考!)





你可能感兴趣的:(hibernate的投影)