Empêcher la persistance d'un objet existant
Bonjour,
Je souhaite créer une entité de cette manière:
Code:
1 2 3 4 5 6
|
Certification certification1 = new Certification(XHobbyCourses.NONE);
Grade xGrade1 = new Grade(Organisations.XXX, certification1);
Certification certification2 = new Certification(XHobbyCourses.NONE);
Grade xGrade2 = new Grade(Organisations.XXX, certification1); |
HobbyCourse contient des entités qui se veut uniques:
Code:
1 2 3 4 5
|
public class XHobbyCourses {
public static final HobbyCourse NONE = new HobbyCourse(CertificationName.NONE);
public static final HobbyCourse MORE= new HobbyCourse(CertificationName.MORE);
} |
De telle manière à obtenir une table:
Code:
1 2 3 4
|
| ID | HOBBY |
| 1 | NONE |
___________________________________ |
et dans Certfication
Code:
1 2 3 4 5
|
| ID | TRUC | HOBBY_ID |
| 1 | blablabla | 1 |
| 2 | blibliblibb | 1 |
____________________________________________________________ |
Mais voilà, lorsque je créer le deuxième, j'ai ceci:
Citation:
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '12' for key 'PRIMARY'
Il tente de créer un nouveau HobbyCourse, quelque part ça m'étonne pas, car j'ai annoté HobbyCourse CascadeType.ALL dans Certification, mais alors comment lui dire: si existe pas persist sinon réutilise?
Merci de m'apporter votre aide!