2 qinkaiyuan94 qinkaiyuan94 于 2016.05.12 02:18 提问

spring4.14和hibernate不配置事务也成功currsession.save()到数据库

spring4.14和hibernate4不声明事务currentsession.save仍可以提交。why?

spring4和hibernate4我用hibernatetemplate.save报错,说什么事务为只读,我以为是切面配置错了,然后怎么调也不行就换成了currentsession,就行了,然后我把关于事务声明切面的配置文件都注释掉了,getcurrentsession..save还是可以提交,这是为什么啊,不明白了。

从网上找到好多答案,说hibernate4自己可以事务管理,但我不明白自己可以管理的意思是什么,可以不使用spring做任何关于事务的事情了?

还说spring3不支持hibernatetemplate,然后又说4.14又支持了,那我现在用的是4.14,为什么不可以save()

spring4.14和hibernate正确的事务管理到底是该怎么配置,是用current就行了,不需要进行事务配置了,还是依旧使用hibernatetemplate然后对配置进行更改?从网上看各种配置都有,有没有谁可以帮忙解答一下我所困惑的这些问题,谢谢。奈何我看不懂官网的文档啊。

5个回答

sunmerlin
sunmerlin   2016.05.12 08:28
已采纳

Hibernate本身就有事务控制。Spring对事务的配置都是在业务层,可以保证业务方法中如果有多个数据库操作方法的话,要么都提交成功,如果有一个失败了,大家的操作都进行回滚,这样可以保持数据的完整性。

CSDNXIAON
CSDNXIAON   2016.05.12 02:22

Spring中如何配置Hibernate事务
在Spring中配置Hibernate的事务
在Spring中配置Hibernate事务
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

jhfsdfs
jhfsdfs   2016.05.12 07:59

你可以先去看看事务是什么意思,不是说不配置事务,数据就不能保存

wr10980170
wr10980170   2016.06.22 17:48

事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性
事务还分为手动事务和自动事务.

Feng_Ellick
Feng_Ellick   2016.07.12 16:59

遇到同样的问题,有认出来解答下吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!