web-dev-qa-db-fra.com

Créer une clé d'auto-incrémentation dans Java DB à l'aide de NetBeans IDE

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.

29
umpirsky

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:

 see screenshot here

9
user28864

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 ...

66
Sam

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),
12
James Black

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:.

 enter image description here

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 ...

 enter image description here

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.

 enter image description here

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.

2
Alan Smith

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é. 

1
Esteban Cacavelos

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.

0
user1545636
  1. Ajouter une nouvelle colonne dans la table en utilisant l'interface 
  2. Écrivez le nom de la colonne et remplissez d'autres informations 
  3. Dans le champ de contrôle, ne le décochez pas et écrivez-lui "INCREMENT BY 1".

Voila !!

0
Ahmad Alauddin