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 : 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
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
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;
 
        //...