用回调方式操作数据
return (T)this.getHibernateTemplate().execute(
new HibernateCallback() {
public T doInHibernate(org.hibernate.Session session){
session.update(entity);
return (T)entity;
}
});
直接调用继承的方法操作数据
super.getHibernateTemplate.update(entity);
return (T)entity;
结果有什么区别么,用途有什么不一样么,getHibernateTemplate是属于update 和org.hibernate.session 的update 有差异么.
新人,之前都是用父类的update方法直接操作,对于这种稍繁琐的回调方式不是很理解
完全没必要,只有当template提供的方法不满足要求时才去使用
可参考
[url]http://jinnianshilongnian.iteye.com/blog/1685963[/url]
如果只是做update操作,使用getHibernateTemplate.update(entity);完全可以达到目的。但是当你自己写sql语句时getHibernateTemplate()里面封装的方法就不能满足你的要求,比如分页查询,比如跨表查询等等。这样你就需要在回调里面写相应的sql语句,而且在回调里面写的语句spring会帮你处理session的