Je viens du monde MySQL, aidez-moi s'il vous plaît.
Est-il possible de créer une clé auto-incrémentée à partir de NetBeans IDE dans JavaDB?
Utilisez-vous des clients de base de données plus avancés, lesquels?
Merci.
Nous avons trouvé un moyen de définir l'incrémentation automatique dans Netbeans 8.0.1 ici sur StackoOverflow Capture d'écran ci-dessous:
Cela peut vous aider:
CREATE TABLE "custinf"
(
"CUST_ID" INT not null primary key
GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1),
"FNAME" VARCHAR(50),
"LNAME" VARCHAR(50),
"ADDR" VARCHAR(100),
"SUBURB" VARCHAR(20),
"PCODE" INTEGER,
"PHONE" INTEGER,
"MOB" INTEGER,
"EMAIL" VARCHAR(100),
"COMM" VARCHAR(450)
);
C’est comme ça que j’ai fait travailler les miens… à l’âge de faire comprendre ce qui me piquait vraiment mais c’est la nature du code: D
BTW! - Il y a un moyen de le faire dans l'interface de ide Sélectionnez Ajouter un index ... le reste du processus parle vraiment de lui-même ...
Si vous regardez cette URL: http://Java.Sun.com/developer/technicalArticles/J2SE/Desktop/javadb/
cette partie du schéma peut être ce que vous recherchez.
ID INTEGER NOT NULL
PRIMARY KEY GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1),
Je ne pouvais pas obtenir la réponse acceptée en utilisant l'interface graphique "Créer une table" de Netbeans IDE, et je suis sur Netbeans 8.2. Pour que cela fonctionne, créez la colonne id avec les options suivantes, par exemple:.
puis utilisez l'option 'Nouvelles classes d'entités de la base de données' pour générer l'entité de la table (j'ai créé une table simple appelée PERSON avec une colonne ID créée exactement comme ci-dessus et une colonne NAME qui est une simple colonne varchar (255)). Ces entités générées laissent à l'utilisateur le soin d'ajouter le mécanisme d'identifiant généré automatiquement.
GENERATION.AUTO semble essayer d’utiliser des séquences qui ne plaisent pas à Derby (erreur de génération de séquence impossible/séquence n'existe pas), GENERATION.SEQUENCE ne fonctionne pas non plus, GENERATION.IDENTITY ne fonctionne pas (get erreur indiquant ID est null), de sorte que laisse GENERATION.TABLE.
Définissez le bouton 'Stratégie de génération de table' de votre unité de persistance sur Créer. Cela créera des tables qui n'existent pas dans la base de données lorsque votre jar est exécuté (chargé?), C'est-à-dire la table que votre PU doit créer pour stocker les incréments d'ID. Dans votre entité, remplacez les annotations générées au-dessus de votre champ d'identifiant par les suivantes ...
J'ai également créé un contrôleur pour ma classe d'entités à l'aide de l'option "Classes de contrôleurs JPA à partir de classes d'entités". Je crée ensuite une classe principale simple pour tester l’identifiant généré automatiquement, c.-à-d.
Le résultat est que PERSON_ID_TABLE est généré correctement et que ma table PERSON contient deux entrées PERSON contenant les identifiants corrects générés automatiquement.
Ce n'est pas possible pour l'instant, sur Netbeans 7.0.1. L'outil graphique permettant de créer des colonnes sur des tables est très limité et il n'existe pas de plug-in proposant cette fonctionnalité.
Si vous souhaitez utiliser Netbeans pour définir des tables, lisez ceci https://codezone4.wordpress.com/2012/06/19/Java-database-application-using-javadb-part-1/ Définissez simplement la colonne sous la forme d'un entier et créez la base de données, puis prenez la structure dans un fichier temporaire, puis supprimez la table. Cliquez à droite sur le dossier tables et sélectionnez recréer la table, sélectionnez le fichier enregistré et modifiez le script pour l'incrémentation automatique.
Voila !!