使用spring的HibernateTemplate 過程中發現有很多方法和直接使用hibernate 查詢的方法不同
1、比如String hql = "select s from ShopInfo s where s.userId=:userid"; 這個hql語句 使用hibernate查詢
Query query = this.getDaoDelegate().createQuery( hql ).setParameter("userid", userid); 這樣得到一個query了 可以通過setParameter方法寫對參數賦值,可是通過HibernateTemplate 如何進行查詢啊
2、使用HibernateTemplate 的executeFind 和execute等方法的時候是返回一個HibernateCallback對象 要實現doInHibernate這個方法 這樣查詢的時候就都使用了一個匿名函數
public List getAll(){
return getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session s) {
return s.createQuery("from Student").list();
}
});
}
感覺這樣很麻煩 有什么好的方法解決么 還請朋友多多指教 在線等