我有实体User
,它与角色有许多关系。我试图实现乐观锁,一切正常,就在我改变角色时,它不会改变版本(用户实体版本),这是正确的行为吗?
class User {
/**
* User's roles.
*
* @ORM\ManyToMany(targetEntity="Role")
*/
private $roles;
...
答案 0 :(得分:1)
学说2的锁定机制不考虑关联。它们只能防止实体本身的变化。恕我直言,这是预期的,因为它无法知道要包含哪些关联以及要忽略哪些关联。这并不是你想要盲目地对所有协会发生的事情。
理论上,Doctrine 2可以通过在关联映射中添加一个选项来实现这一点,但此时根本不支持。
所以你有两个选择:
答案 1 :(得分:0)
我没有尝试,但我认为这是正确的行为(因为flush不会修改用户实体)并且没有理由锁定用户实体 - 它没有被更改。