使用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();
}
});
}
感觉这样很麻烦 有什么好的方法解决么 还请朋友多多指教 在线等