以下情况:在Glassfish上使用EJB,我有两个实体类:A和B.它们通过@ManyToMany关系链接,所以我有一个额外的表A_B。
现在我想处理一个A的实例,也就是将一些关系更改为B类。更准确地说,我不时地更改A中的值,以后(并且在Bean的方法的不同调用中)客户)我想提交更改。
因此,我想到在A的实例上使用乐观锁。问题是:由于@ManyToMany关系存储在表A_B中,数据库中A的条目不会改变,版本字段不会增加,因此总结该方法对我不起作用。
在A_B中锁定实体无法正常工作,因为在@ManyToMany中可以插入影响我的两个类的新行。我需要某种基于范围的锁来实现我的A和B实例之间的链接没有被改变,添加或删除。不幸的是,我找不到适合该问题的解决方案。
锁定A的实体(包括与其他实体的所有关系)的最佳方法是什么?