@IdClass donne une org.hibernate.MappingException: Repeated column in mapping
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 exception NonUniqueObjectException org.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 :
... mais apparemment j'ai raté quelque chose... Une idée ???
Voici ma classe MemberId:
Code:
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 |
Et ma classe Member :
Code:
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;
//... |