2010-08-04 2 views
0

Je souhaite obtenir des clés de substitution pour ma ou mes tables utilisateur dans MySQL. Je suis sûr que la concaténation d'une valeur incrémentielle + un horodatage me procurerait des clés uniques sur plusieurs tables, mais comment puis-je obtenir la valeur incrémentielle de la table de persistance de la classe avant de la conserver dans la base de données.Génération de clé de substitution sur plusieurs tables à l'aide d'Hibernate

Répondre

1

Laissez Hibernate le faire pour vous en utilisant l'un de leurs générateurs de clés. Si vous devez définir votre propre schéma de clé, vous devrez écrire votre propre générateur.

+0

Y a-t-il quelque chose qui ne va pas avec l'heure actuelle du système en millis puis l'assignation comme ID? Je veux quelque chose d'un peu plus unique qu'un champ auto-incrémenté (c'est ce qu'un tag @Generated me donne en ce moment avec MySQL). Je souhaite que les clés soient uniques sur plusieurs tables et non sur une seule. – user398371

+0

Oui, car selon la résolution de CURRENT_TIMESTAMP de votre base de données, vous pouvez insérer deux objets au même moment précis. Comment pouvez-vous devenir plus unique qu'un champ auto-incrémenté, qui est déjà garanti? –

+0

Comment vous auto-incrémenté sur plusieurs tables ... – user398371

Questions connexes