SSH 集成项目中getHibernateTemplate().save(Object obj)方法保存数据不能commit 解析

转载:

SSH 集成项目中getHibernateTemplate().save(Object obj)方法保存数据不能commit 解析

  在开发SSH 集成项目过程中,可能会遇到如题目 那样的问题,在一个save()方法中不能把数据提交到数据库,而在后台打印的sql语句来看已经执行了insert 操作,具体是什么原因? 在网上翻查了好久,发现也有不少和我一样的情况,最后 得到原来是  在使用myeclipse工具自动生成 代码产生的副作用吧!

而且问题很明显,在写好一个save()方法后,在写一个get()的方法,然后先操作save(),再get()得到的 数据量却 增加了一条,有此可以知道 数据是保存在缓存中而未提交到数据库中的! 也可以说是 

    因为事务没提交 或 是回滚了的结果

原因是你集成了spring用myeclipse生产的代码

修改策略你在hibernate.xml配置文件里加上

<propertyname="connection.autocommit">true</property>变搞定

或者自己写dao 不用myeclipse生成代码  基本都可以通过的

希望此方法可以帮助 和我一样遇到过此问题的战友 .........问题层出不穷,需要不断完善和增长自己的视野!文章会更新,希望大家多给意见和解决办法 , 来让所以朋友少走弯路,多发现不足点! 共同进步

相关推荐