Doctrine 2: Enregistrement d'Entité dans une Relation Complexe

J'ai le texte suivant relations à l'intérieur de ma doctrine entités:

FavoriteRecipe

/**
 * @ManyToOne(targetEntity="User", inversedBy="favoriteRecipes")
 */
private $user;

/**
 * @ManyToOne(targetEntity="Recipe", inversedBy="favoriteRecipes")
 */
private $recipe;

Recette

/**
 * @OneToMany(targetEntity="FavoriteRecipe", mappedBy="user")
 */
private $favoriteRecipes;

Utilisateur

/**
 * @OneToMany(targetEntity="FavoriteRecipe", mappedBy="user")
 */
private $favoriteRecipes;

Dans un de mes contrôleurs, j'ai le code suivant:

$favoriteRecipe = new \Entities\FavoriteRecipe();
$favoriteRecipe->setRecipe($recipe);
$favoriteRecipe->setUser($user);
$this->_em->persist($favoriteRecipe);
$this->_em->flush();

Mais cela déclenche une exception avec le message suivant:

Une nouvelle entité a été trouvé par une relation qui n'a pas été configuré
cascade persist opérations:
Les entités\Utilisateur@00000000408bd010000000007cb1380e. Explicitement persister le
nouvelle entité ou configurer en cascade persist opérations sur le
relation.

Comment puis-je correctement créer et enregistrer un FavoriteRecipe entité?

OriginalL'auteur moteutsch | 2011-09-06