J'ai le modèle suivant :
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 @Entity @Table(name = "FICHE") public class Fiche implements Serializable, Comparable<Fiche>, Cloneable { private static final long serialVersionUID = 1L; @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "ID_AUTEUR", nullable = true) private Utilisateur auteur; @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "ID_LECTEUR", nullable = true) private Utilisateur lecteur; // Settters and getters }Mon problème est le suivant, lorsque je charge un objet de la table fiche dont l'utilisateur et l'auteur sont la même personne hibernate crée un seul et unique objet pour valoriser mes deux relation.
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 @Entity @Table(name = "USER") public class Utilisateur implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="SEQ_USR") @SequenceGenerator(name="SEQ_USR", sequenceName="SEQ_USR", allocationSize=1) @Column(name = "ID_USR", nullable = false, precision = 22, scale = 0) private long idUtilisateur; @Column(name = "NOM", nullable = false) private String nom; @Column(name = "PRENOM", nullable = true) private String prenom; // Settters and getters }
Du coup lorsque je change l'une des deux valeurs les deux relations sont changés.
Existe-il un moyen d'indiquer à hibernate de cloner les objets au lieu d'utiliser toujours la même référence ?
Partager