读书人

HibernateTemplate 施用Example方式 查

发布时间: 2012-11-07 09:56:10 作者: rapoo

HibernateTemplate 使用Example方式 查询满足条件的记录总数

今天做玩SSH时,发现HibernateTemplate有findByExample()方法,但是返回的是满足输入JavaBean条件的所有JavaBean。如果我只想获取满足条件的记录总数,比如说,在分页的时侯,我要先查询一下总数,然后才能换算出分几页显示,这时如果使用findByExample().size()是不好的,特别是在数据量特别大的时侯。

?

然而Hibernate又没有提供类似countByExample()的方法,一般的方法是使用Query自己写条件,如果JavaBean的属性很多而又不确定哪些属性为null,那就惨了。我查看了一下findByExample()方法,发现完全可以仿照之写一个新的方法如下:

或许已经有其它方法了,但是俺还不太熟悉Spring,所以就将就用一下吧。

hibernateTemplate.executeFind(new HibernateCallback(){  public Object doInHibernate(Session session)throws HibernateException, SQLException {  Query query = session.createQuery("select count(*) from Object o"+ "条件")Long total = (Long)query.uniqueResult();return total;

读书人网 >软件架构设计

热点推荐