Bonjour,
Encore et toujours un problème avec Hibernate (oui grand débutant inside ^^)
J'ai défini une classe Member qui possède une clé composé de 2 autres classes : Team et User.
J'ai créé une 4e classe MemberId, et je l'ai liée à la classe Member avec @IdClass.
Mais voilà, quand je veux insérer une nouvelle équipe avec une liste de membres, j'ai une exceptionNonUniqueObjectExceptionorg.hibernate.MappingException:
a different object with the same identifier value was already associated with the session: [mon.package.core.bo.project.Member#mon.package.core.bo.project.MemberId@3c1]
Repeated column in mapping for entity: mon.package.core.bo.project.Member column: team_id (should be mapped with insert="false" update="false")]
J'ai suivi ces tutoriaux :
- http://www.codemiles.com/jpa/compoun...ion-t6176.html
- http://www.objectdb.com/java/jpa/entity
- http://www.java2s.com/Code/Java/JPA/...ompoundKey.htm
... mais apparemment j'ai raté quelque chose... Une idée ???
Voici ma classe MemberId:
Et ma classe Member :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class MemberId implements Serializable { private static final long serialVersionUID = 6040870329125500445L; private int userId; private int teamId; public MemberId(){}; public MemberId(int userId, int teamId) { super(); this.userId = userId; this.teamId = teamId; } //getters et setters
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 @Entity @Table(name="member") @IdClass(MemberId.class) public class Member implements Serializable { private static final long serialVersionUID = -6866932754421199976L; @Id @Column(name="team_id", insertable=false, updatable=false) private int teamId; @Id @Column(name="user_id", insertable=false, updatable=false) private int userId; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="team_id") private Team team = null; @ManyToOne @JoinColumn(name="user_id") private User user = null; //...
Partager