Mon problème est que j'ai un objet A qui contient une liste de B ObjetsUne question flush() après la fusion d'une entité
@Entity
class A {
@OneToMany(cascade={CascadeType.MERGE})
List<B> list;
}
Quand je fais un « fusionner » d'un objet A et ensuite appeler " vider "à l'intérieur d'une méthode EJB sans état
em.merge(a); //a is of class A
em.flush(); //doesn't flush "list"
cela ne fonctionne pas réellement. les identifiants des objets B de "liste" ne sont pas définis.
Mais la persistance et le rinçage travail
em.persist(a);
em.flush(); // it works!
Les ids de l'objet B de "liste" sont définis. J'utilise EclipseLink. Est-ce que quelqu'un sait ce qui pourrait se passer?
En raison du bruit dans les réponses ci-dessous (quelques amis?), Je me demande si la question est sérieuse et jusqu'à ce que j'obtienne la confirmation, je ne passerai pas plus de temps là-dessus. Si ces gens sont vos amis, vous devriez les éduquer un peu. –
Cette question est une sorte d'aimant de spam. – bmargulies
@Pascal, @bmargulies; Nettoyé et protégé de toute autre bêtise. Merci pour le drapeau. –