hibernate-save-AssertionFailure HHH000099: an assertion failure this may indicate a bug in Hibernate

ERROR AssertionFailure HHH000099: an assertion failure occurred (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session): org.hibernate.AssertionFailure: null id in com.j.bean.Driverbean entry (don’t flush the Session after an exception occurs)
org.hibernate.AssertionFailure: null id in com.j.bean.Driverbean entry (don’t flush the Session after an exception occurs)

最终确认问题,是该si的前端,made,driverLicence,写成driveLicence

命名不能规范吗,还要我后台疯狂找错,都了解到缓存底层机制啦!!

终上所述,除去下面的原因,一定是各种各样的配置出错,所谓bug是不存在的,同时一定注意前端传来的值,它可能是罪魁祸首。

如果你的hbm.xml文件主键配置了native

首先这真的是一个hibernate开发bug

具体可参考,讲的好
https://blog.csdn.net/cpp_lzth/article/details/42104385

我们知道hibernate有缓存机制,这次的问题就出在这里

如果你的hbm.xml文件主键配置了native

就是将主键生成完全交给了hibernate

hibernate底层这里有一个session使用线程不同步的异常将被抛出

举例save方法

hibernate会先将要存的object放到缓存区

然后登记object的一些信息,如主键,用来做持久化。

结果就在这里发生异常,可以强制刷新

所以有null id的说法
有点赶

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值