我有一个关系的边缘教科书示例。公司有很多WorkPlace和Workplace属于公司。
在集成测试中,我创建了Company对象,为其添加了3个工作区。我使用removeFromWorkplaces将它们从Company对象中删除,以便我可以删除它们。
有趣的是,我尝试删除的第一个工作区将被删除,但第二个工作区会被org.springframework.orm.hibernate4.HibernateOptimisticLockingFailureException爆炸:[...] org.hibernate.StaleObjectStateException:行被更新或删除通过另一个事务(或未保存的值映射不正确)
字面上没有任何线索,因为这个例子非常简单,我的其他测试也运作良好。
workplace1.delete() //OK
workplace2.delete() //exception
这些人共享同一个公司对象。 不知道从哪里开始。