我正在使用Hibernate 3.2.6。我正面临异常
在刷新之前保存瞬态实例
在我的代码中,有时我们使用getSession().flush()
,有时我们在一个事务中使用getHibernateTemplate().flush()
。
答案 0 :(得分:9)
HibernateTemplate Spring代码,从Spring转移到注释之前的几天作为事务管理的首选方法。它不是Hibernate本身的一部分。模板代码抽象出了创建,提交和回滚事务的机制,允许开发人员专注于他们的业务逻辑。 Spring社区现在认为HibernateTemplate是多余的,并且已经完全删除了Spring对Hibernate 4的支持。
来自官方文件:
注意:从Hibernate 3.0.1开始,事务性Hibernate访问代码也可以用简单的Hibernate风格编码。因此,对于新启动的项目,请考虑采用基于SessionFactory.getCurrentSession()的标准Hibernate3样式的编码数据访问对象。
在过渡期间,您的代码可能是遗留代码和开发人员之间混合方法的混合。