You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hibernate 6.x+ 单元测试中共享会话引发NonUniqueObjectException问题求助

Hibernate 6.x+ 单元测试中共享会话引发NonUniqueObjectException问题求助

各位好,我最近升级到Hibernate 6.x+之后,在单元测试里碰到了共享会话相关的问题,卡了好半天没解决,来这儿求助大家!

我的测试场景是这样的:

  • 首先在测试初始化阶段创建一条Banana记录
  • 接着执行一个并发测试逻辑:启动10个线程,循环15次去尝试删除这条Banana记录

结果每次跑这个并发测试都会抛出异常,关键错误信息如下:

Caused by: org.hibernate.NonUniqueObjectException: A different object with the same identifier value

我自己琢磨着,会不会是并发场景下多个线程共用了同一个Hibernate会话,导致不同线程里的Banana对象虽然ID一致,但却是不同的实例,被会话判定为冲突对象?而且奇怪的是,在Hibernate 5.x版本的时候完全没这个问题,升级到6.x之后才出现的,难道是Hibernate 6.x在会话管理或者并发处理的逻辑上有什么变动吗?

有没有大佬遇到过类似的情况?或者能给点排查的方向?比如是不是单元测试里的会话配置需要调整,或者并发测试时应该给每个线程单独分配会话?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 12:37:59