Bonjour,

Je rencontre un souci "bizarre" dans la façon dont doctrine flush mes objets avec symfony2.
Voici mes objets :
User => le user
ProfileUser1 => son profile (1 par année)
ProfileUserP => son profile détaillé
ProfileSiteSSH => le profile du site sur lequel il travaille (1 par année)
SiteH => les détails du site sur lequel il travaille
LinkSiteProfile => le lien entre le site et le profile du site

Avec les relations suivantes :
User oneToMany ProfileUser1
ProfileUser1 oneToOne ProfileUserP
ProfileUser1 oneToOne ProfileSiteSSH
LinkSiteProfile manyToOne ProfileSiteSSH
LinkSiteProfile manyToOne SiteH
ProfileSiteSSH manyToOne LinkSiteProfile mais sur une autre champ

Mon souci est le suivant : je crée mes différents objets et à la fin je fais un persist() sur chaque objet puis un flush() final. Au premier coup il me fait un erreur car il ne flush pas tout mes objets.
en débug voila ce qu'il fait:
[2015-07-29 09:42:33] doctrine.DEBUG: INSERT INTO User...
[2015-07-29 09:42:33] doctrine.DEBUG: INSERT INTO ProfileUser1...
[2015-07-29 09:42:33] doctrine.DEBUG: INSERT INTO ProfileUserP...
[2015-07-29 09:42:33] doctrine.DEBUG: INSERT INTO SiteH...
[2015-07-29 09:42:33] doctrine.DEBUG: INSERT INTO LinkSiteProfile...
[2015-07-29 09:42:33] doctrine.DEBUG: "ROLLBACK" [] []
Et donc Integrity Constraint Exception car il n'a pas flushé le ProfileSiteSSH alors que l'objet LinkSiteProfile en a besoin.

Je fais un "back" et je relance et là il me le fait bien : il crée tout mes objets et ensuite fait un UPDATE pour mettre à jour
[2015-07-29 09:44:08] doctrine.DEBUG: INSERT INTO SiteH...
[2015-07-29 09:44:08] doctrine.DEBUG: INSERT INTO User...
[2015-07-29 09:44:08] doctrine.DEBUG: INSERT INTO ProfileUser1...
[2015-07-29 09:44:08] doctrine.DEBUG: INSERT INTO ProfileSiteSSH...
[2015-07-29 09:44:08] doctrine.DEBUG: INSERT INTO LinkSiteProfile...
[2015-07-29 09:44:08] doctrine.DEBUG: INSERT INTO ProfileUserP...
[2015-07-29 09:44:08] doctrine.DEBUG: UPDATE ProfileSiteSSH...
[2015-07-29 09:44:08] doctrine.DEBUG: "COMMIT" [] []

Bref je ne comprends rien !
Si vous avez une idée ?
Merci.