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