Bonjour,

je travaille sur hibernate et je rencontre l'exception suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
org.springframework.orm.hibernate4.HibernateSystemException: Found shared references to a collection
Effectivement je cherche à mettre dans une collection de mon entité la même collection qu'une autre entité du même type. Je souhaite vraiment que ce soit les mêmes données et les mêmes id. Concrêtement, je souhaite pointer sur les mêmes données en base et donc sur les mêmes données en cache. Hors je ne sais pas comment contourner cette exception. Dès que je fais un save de mon entité j'obtiens cette exception. Comment faire pour que deux entités puisse pointer sur la même collection ?

Pour information, voici à quoi ressemble l'entité en question :
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
25
26
27
28
29
30
31
 
@Entity
@Table(name="T_ATTRIBUT")
public class Attribut implements Serializable{
 
	private static final long serialVersionUID = -2364367529355309198L;
 
	private long id;
 
	private Set<LocString> label = new HashSet<LocString>(0);
 
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="ID")
	public long getId() {
		return id;
	}
 
	public void setId(long id) {
		this.id = id;
	}
 
	@ManyToMany(fetch=FetchType.EAGER, cascade=CascadeType.ALL)
	public Set<LocString> getLabel() {
		return label;
	}
 
	public void setLabel(Set<LocString> label) {
		this.label = label;
	}
...
et concernant l'entité locString :
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
 
public class LocString implements Serializable {
 
	private static final long serialVersionUID = -3384318618274464353L;
 
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="ID")
	private long id;
 
	@Column(name="LOCALE")
	private String locale;
 
	@Column(name="VALUE")
	private String value;
 
...
Merci d'avance pour votre aide !