Bonjour,
je cherche à transformer 1 association Many-to-Many avec 2 classes en 2 associations One-To-Many avec 3 classes.
D'après Martin Fowler, cela fonctionne bien.
exemple:
1 Association Many-to-Many
User *------* Media
|
Vote
2 Associations One-To-Many
User-1----*-Vote-*----1-Media
Ma configuration Hibernate,
Association User-->Vote: inverse=true sur le Set du Vote dans la classe User
Association Media-->Vote: inverse=true sur le Set du Vote dans la classe Media
Code:
classe User
Set votes = new HashSet(); //one-to-many
Set medias = new HashSet(); //one-to-many
classe Media
Set votes = new HashSet();
User user; //many-to-one
classe Vote
User user; //many-to-one
Media media; //many-to-one
Long id: //hibernate.id
Integer note; //valeur du vote (de 1 à 5)
j'ai une méthode addVote(Vote) dans la classe Media qui me permet de persister un Vote en BD.
Code:
addVote(Vote v) {
v.setMedia(this);
v.setUser(media.getUser());
votes.add(v);
}
Cela fonctionne, mais, il y a 2 enregistrements en BD et non un seul !!!
Avez-vous des conseils à me donner pour que cela fonctionne bien ?
Merci pour votre aide..