getHibernateTemplate().save()与getHibernateTemplate().getSessionFactory().getCurrentSession().save()有什么区别,谁能说说啊。
第二个是直接从SessionFactory获取Session,不受spring声明式事务管理。
第一个是调用spring的模板,第二个同上。
getHibernateTemplate().save()是封装了的,getHibernateTemplate().getSessionFactory().getCurrentSession().save()也就是session的save方法,为封装异常和事务的处理,需要你自己在代码中处理。
印象中如果没有配置事务的话getHibernateTemplate().save()会自动提交,getHibernateTemplate().getSessionFactory().getCurrentSession()的话会返回没有绑定session的错误。
可能是声明式事务配置错了,也可能是疏忽了hibernate的某些机制的代码错误(如对托管态实例的修改等),不了解具体情况不好判断啊。
另,楼主确定是三个“数据库”而不是三个“数据库表”?