Bonjour,
Au sein d'une même transaction (avant le commit donc) j'ajoute N enregistrements dont un des attributs est de type autoincrément.
Hibernate ne résout l'attribut qu'au moment du commit, donc les valeurs sont mises à 0 en attendant.
Mon problème, c'est si l'attribut autoincrémenté est ma clé primaire, ça saute en me lachant un NonUniqueObjectException, ce qui me fait une belle jambe.
Il est possible que plusieurs transactions se fassent en mm temps, donc je peux pas juste récuperer l'index max + 1, car ça ne changera rien.
Comme cet ajout se fait dans une boucle, je ne vais pas non plus m'amuser a ouvrir et fermer N transactions.
Donc j'aimerais savoir s'il existe une feinte prévue par hibernate ou si je suis
dans la m*rde..
En fait, l'idéal serait de pouvoir refiler un unique id temporaire a mes enregistrement, puis de l'ajouter a la base à la bonne valeur au moment du commit :/
Merci d'avance.
Partager