En JPA ou Hibernate, est-il possible de fusionner une nouvelle entité (qui n'a pas de valeur de clé primaire) dans un contexte de persistance basé sur une clé unique autre que la clé primaire?Fusion en JPA/Hibernate basé sur une clé unique au lieu de la clé primaire
Ou est-ce que la fusion JPA/Hibernate est uniquement effectuée sur les clés primaires?
Si cela est impossible avec un simple appel de méthode, sont mes seules options soit:
- remplacer la clé primaire existant par le code clé unique
- d'écriture qui trouve toute entité existante en utilisant la les valeurs des attributs dans la clé unique. Si je devais faire ceci, je suppose que j'écrirais une méthode statique qui recherche
@UniqueConstraint
annotations, et recherche des entités existantes basées sur les attributs dans les@UniqueConstraint
s. Je vais essayer de fusionner dans la première entité qui a été trouvée pour l'un des@UniqueConstraint
s. Si aucune correspondance, alors je pourrais juste persister la nouvelle entité.