问题描述
用回调方式操作数据return (T)this.getHibernateTemplate().execute( new HibernateCallback<T>() {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方法直接操作,对于这种稍繁琐的回调方式不是很理解 问题补充:getHibernateTemplate的update
解决方案
完全没必要,只有当template提供的方法不满足要求时才去使用可参考http://jinnianshilongnian.iteye.com/blog/1685963
解决方案二:
如果只是做update操作,使用getHibernateTemplate.update(entity);完全可以达到目的。但是当你自己写sql语句时getHibernateTemplate()里面封装的方法就不能满足你的要求,比如分页查询,比如跨表查询等等。这样你就需要在回调里面写相应的sql语句,而且在回调里面写的语句spring会帮你处理session的
时间: 2024-11-13 06:35:57