Hibernate 中 getSession.save()失效解决方案

今天在实现一个需求时,在某个方法里通过 getSession.save()来保存数据时一直失效,既不报错也不保存数据,但是其他的不同类中的getSession.save()正常,以下为我的解决思路/方案

1.执行强制保存

这是在没有办法的情况下使用的,如果你其他类的保存是正常的那么,很可能你这个类的事务是有问题的,如果你实在解决不了那么可以采用代码块的方法来强制保存,亲测有效

getSession.flush(); //他主要做了两件事:清理缓存。执行SQL。

2.排查此方法或类是否受事务管理

如果上面的方法已经解决你的问题那你可以按照我下面的方式来排查一下,首先需要去看一下你的事务配置,是否当前方法或类有没有被事务所管理,如果没有的话,需要让事务管理一下当前类,同时你也可以自己测试一下,通过上面方法保存数据的同时往外抛一个异常,如果没发生了回滚,哪证明导致这个保存失败的原因很可能就是此方法或类没有受事务管理,那么你就需要让事务管理他,如果发生了回滚,成功以后你可以试试去掉上面的方法还能保存成功不。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值