问题描述
publicclassHibernateDaoextendsHibernateDaoSupportpublicListfind(finalStringhql,finalintoffset,finalintpageSize){Listlist=this.getHibernateTemplate().executeFind(newHibernateCallback(){publicObjectdoInHibernate(Sessionsession)throwsHibernateException,SQLException{Listresult=session.createQuery(hql).setFirstResult(offset).setMaxResults(pageSize).list();returnresult;}});returnlist;}}
和下面这个publicclassHibernateDaoextendsHibernateDaoSupportpublicListfind(finalStringhql,finalintoffset,finalintpageSize){returngetSession().createQuery(hql).setFirstResult(offset).setMaxResults(pageSize).list();}}
这两种写法有啥差别么?
解决方案
解决方案二:
一个直接拿到session一个自己获取session别的没区别
解决方案三:
Listlist=this.getHibernateTemplate().executeFind(newHibernateCallback()){}有区别,其实通过getHibernateTemplate().executeFind(newHibernateCallback())这个方法来查找在这里如果有错就使用Hibernate中的事务回滚,下面的也可以但是简化到了一些而已,如果你经常用上面的来编写的话,就会更深入的了解到Hibernate