当spring提供的HibernateTemplate()没有提供你所需要的功能时,可以用回调函数实现相关功能。
不提倡用getSession()来获得session来实现,因为这样拿到的session是hibernate最原始的session,不享有Spring提供的模板支持,需要你手动的关闭session
在DAO类中可以使用下面的方法取得session:
final String queryString = "from Fourm"; //必须定义final类型
List l= getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate ( Session session ) throws HibernateException, SQLException {
Query query = session.createQuery ( queryString ) ;
query.setFirstResult ( 0 ) ;
query.setMaxResults ( 10 ) ;
List list = query.list ( ) ;
return list ;
}