J'utilise actuellement Quel type de données dans Javadb / Derby devrais-je utiliser pour UUID? J'ai vu Comment dois-je l'utiliser avec JDBC? Par exemple. Dans un Si je pouvais modifier la base de données sur SQL Server, y a-t-il un type de données compatible avec Java.Util.uuid? p> li>
ul>
Simplement, comment devrais-je utiliser UUID avec Javadb / Derby et JDBC? P> int code> comme type de clé primaire dans Javadb (Apache Derby), mais depuis que je mettant en place un système distribué, je voudrais modifier le type à java.util.uuid . Quelques questions à ce sujet: p>
char (16) pour les données de bits code> été mentionné mais je ne sais pas grand chose à ce sujet. Est
varchar (16) code> une alternative? P> li>
PredyStatement code>, comment dois-je définir et obtenir une UUID? p> li>
3 Réponses :
UUID est une valeur de 128 bits. Le type avec JDBC, je pense que vous utilisez la méthode get / Setbytes () car elle traite de petites quantités de données binaires. (Pas positif, devrait essayer cela) p>
et aucune idée de la partie SQL Server. p> Char (16) pour les données de bits code> reflète qu'il s'agit de données de bits stockées sous forme de caractère pour la concision. Je ne pense pas que
varchar (16) code> fonctionnerait car il n'a pas le drapeau bit. La base de données devrait être en mesure de convertir les données binaires en données de caractères qui traitent du codage et sont risquées. Plus important encore, cela ne vous achèterait rien. Étant donné qu'un UUID est toujours em> 128 bits, vous n'obtenez pas les économies d'espace à partir de
varchar code> sur
char code>. Donc, vous pouvez aussi bien utiliser le char (16) prévu pour les données de bits code>. P>
Vous pouvez convertir l'UUID en une chaîne et le stocker comme Varchar. La plupart des formats de chaîne UUID sont similaires à ceux-ci: 32 chiffres séparés par des traits d'union: 00000000-0000-0000-0000-000000000000, alors vous voudrez alors un Varchar (36) ou le faire comme Varcharne (64) si vous s'il vous plaît , puisque cela ne fait pas mal d'avoir un «espace» supplémentaire disponible dans votre varchar - seuls les chiffres réels sont stockés. P>
Une fois que vous l'avez converti sur une chaîne, il suffit d'appeler l'instruction.Setstring pour l'inclure dans votre instruction insertion. P>
Si vous souhaitez toujours utiliser l'objet UUID dans votre code, vous pouvez utiliser DBString pour créer des objets UUID à partir de la DB et de la touche pour les stocker dans la DB. P>