Bonjour,
J'ai un problème avec JPA. J'ai 2 entités Agent et Emploi avec une relation avec une relation ManyToOne entre Agent et Emploi.
J'ai un traitement qui importe des Agents à partir d'un fichier excel. Dans ce fichier j'ai l'identifiant unique et les propriétés de l'emploi. J'instancie donc un objet emploi avec toutes ses propriétés (dont l'id) et je set l'emploi sur l'agent. Mais lorsque je fait un persist, j'ai l'exception suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = "ID_EMPLOI") private Emploi emploi;
org.hibernate.exception.ConstraintViolationException: Duplicate entry '2600' for key 'PRIMARY';
Je pensais qu'en settant l'ID de l'emploi, Hibernate serait capable de voir si l'entité est déjà présente en base. Il n'en est rien. Y a t'il un moyen propre et efficace de gérer ce genre de cas, autre que faire un appel en base pour voir si mon emploi existe déjà ?
merci
Partager