该项目有@Entity1,它与@Entity2有关系OneTo很多。此外@Entity1与@Entity3有关系ManyToOne。我有一个@Controller,它为@Entity2向数据库添加数据,同时也更新关联的@Entity3的日期字段,但没有必要在那里指定绝对精确的日期。在我的例子中,两个@Entity1对象引用相同的相关@Entity3。当执行来自两个客户端的并行请求时,服务器将Op的ticLockException返回到一个并回滚整个事务,这必须保存@Entity2。请告诉我如何在Spring引导Hibernate中取消仅针对@Entity3的Op的LockException异常?
我试图隔离保存关联的实体字段@Entity3从外部事务使用@Transactional(传播=传播.NOT_SUPPORTED)
但结果,许多测试停止工作,因为这个项目)
因此,我使用直接sql查询使用javax.持久性字段. EntityManager而不是hibernate Entity方法进行更新。多亏了这个,乐观锁不再被丢弃,字段得到了更新。