Doutrina 2 Cascata ManyToMany
É possível no Doctrine 2 criar dois objetos que são muitos para muitos relacionados e que a chamada persiste apenas em um deles para salvar os dois?
Entidade do usuário:
/**
* Owning Side
*
* @ManyToMany(targetEntity="Role", inversedBy="users", cascade={"persist"})
* @JoinTable(name="user_roles",
* joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="role_id", referencedColumnName="id")}
* )
*/
public $roles;
Entidade de função:
/**
* Inverse Side
*
* @ManyToMany(targetEntity="User", mappedBy="roles")
*/
public $users;
Salvando:
$role = new Role();
$user = new User();
$user->roles->add($role);
$role->users->add($user);
$em->persist($user);
$em->flush();
Ele não funciona e registra um erro "Foi encontrada uma nova entidade por meio de um relacionamento que não foi configurado para cascatear operações persistentes: Entities \ Role @ 0000000004a29c11000000005c48cb75. Persistir explicitamente a nova entidade ou configurar operações persistentes em cascata no relacionamento."