Bonjour,

Je renvontre un problème dans l'utilisation du CascadeType.MERGE.

J'ai mappé la relation bidirectionnelle OneToMany/ManyToOne suivante: une personne possède plusieurs adresses.

1. Transaction 1: Je persiste: Personne P1 possède deux Adresses A1 et A2
2. Transaction 2:
2.1 Je charge P1
2.2 Je désassocié (dans les 2 directions) l'adresse A1 de la personne P1
3. Transaction 3: Je fais un EntityManager.merge(P1)

Problème => en db: A1 est toujours associé à P1.
Cependant, tout se déroulle comme prévu si tout se déroule dans la même transaction.

Code source:

@Entity
public class Adresse{
...
@ManyToOne
public Personne getPersonne(){...}
...
}

@Entity
public class Personne{
...
@OneToMany(mappedBy="personne", cascade=CascadeType.ALL)
public Collection<Adresse> getAdresses(){...}
...
}



Merci pour toute info à ce sujet.