@GeneratedValue avec la stratégie=GenerationType.AUTO génère répétées de la valeur après le redémarrage

J'ai une hibernate entité avec un ID configuré comme

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;

La création de nouveaux éléments fonctionne bien lors de la première manche. Mais si je redémarre mon application et récupérer en retour les enregistrements, la prochaine fois que j'essaie de persister cette entité, hibernate essaie d'utiliser le même IDENTIFIANT généré lorsque l'application n'a pas été redémarré.

Je reçois le message d'erreur ci-dessous, et lors de l'exécution avec l'option trace, j'ai pu voir que l'ID a été réutilisés

*Mise en veille prolongée: insert into org_myEntity (entitiyJID, entitityName, id) values (?, ?, ?) org.mise en veille prolongée.util.JDBCExceptionReporter
Erreur SQL: 20000, SQLState: 23505
org.mise en veille prolongée.util.JDBCExceptionReporter L'
la déclaration a été annulée parce qu'elle aurait causé un double de la clé
valeur dans une contrainte unique ou primary key ou unique index identifié
par "SQL120725164357680' définie sur 'NOM_TABLE'.
org.mise en veille prolongée.de l'événement.def.AbstractFlushingEventListener
Impossible de synchroniser la base de données d'état de session
org.mise en veille prolongée.exception à la règle.ConstraintViolationException: impossible*

Par ailleurs, je suis en utilisant hibernate 3.3.2.GA, javax.persistance 2.0.0 et Derby 10.5.1 base de données

N'quelqu'un a une idée de ce qui pourrait être mal sur ma génération, et comment pourrais-je résoudre ce problème?

OriginalL'auteur Thomas | 2012-07-25