當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 ;
}