IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NetBeans Java Discussion :

Création de persistence impossible car aucune PK


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut Création de persistence impossible car aucune PK
    Bonjour bonjour!

    Voilà mon problème, je suis actuellement en stage dans une moyenne entreprise(250 employés) et ma mission est de créer une application qui me permette d'aller lire dans la base de données Informix de la société.

    Le problème est qu'au moment de créer la persistance avec Netbeans, il m'est impossible d'ajouter les tables souhaitées car elles ne possèdent pas de PK définies.

    J'ai l'interdiction de modifier cette base de données alors pourriez vous m'aiguiller comment il me serait possible de contourner le problème?

    D'avance mille merci!!

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    734
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 734
    Par défaut
    J'ignorais que les PK étaient facultatives. Je serais moins bête ce soir. :p Si j'avais fait une base sans clés uniques durant mon cursus scolaire (et au boulot), je me serais fait incendié.

    Pour ton problème, l'assistant de NB utilise le PK pour identifier de manière unique les enregistrement. mais surtout générer les classes java +annotation JPA(comme l'annotation@Id) qui vont respecter le modèle sql.

    Si l'assistant t'en empêche, il va falloir que tu fasses à la main, toutes la déclaration des classes et du fichier xml.

    Mais j'ignore si un tel ensemble va/peut fonctionner sans clé unique.

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Citation Envoyé par Tarul Voir le message
    J'ignorais que les PK étaient facultatives. Je serais moins bête ce soir. :p Si j'avais fait une base sans clés uniques durant mon cursus scolaire (et au boulot), je me serais fait incendié.
    Oué moi aussi, et je comprend pourquoi maintenant...

    Citation Envoyé par Tarul Voir le message
    Si l'assistant t'en empêche, il va falloir que tu fasses à la main, toutes la déclaration des classes et du fichier xml.
    Fait chier que je sois pas payé à l'heure....

    Citation Envoyé par Tarul Voir le message
    Mais j'ignore si un tel ensemble va/peut fonctionner sans clé unique.
    J'ai une clé primaire (le numéro d'article), mais l'est pas implémenté dans la base de données, mais je peux le préciser dans ma classe entité que tel champ est l'ID.


    Enfin voilà, sinon je pense que se serait peut être plus malin de pas créer de persistence avec cette base de donnée.

    Parce qu'en fait mon projet s'appuie sur une base de données MS SQL, mais je dois pouvoir aller chercher les infos sur les articles dans une vieilles (1999 en tout cas) base de données Informix.

    Donc utiliser la persistance avec MSSQL mais pas avec Informix, qu'en dites vous?

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    734
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 734
    Par défaut
    L'API JPA n'influence que peu les performances (en théorie) sur le requetage. Il y a cependant des choses à faire et à ne pas faire pour éviter des pertes de performances.

    Après les bases Informix, je ne connais pas.

  5. #5
    Membre averti
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Alors pour finir jai lancé cette commande sql (sur une base de données test d'abord, faudrait pas que je descende tout le système de l'entreprise) afin de passer le champs no_article en primary key:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ALTER TABLE bas_art 
    ADD CONSTRAINT PRIMARY KEY (no_art);
    Ya pas de risque pour la base de données?!

    Merci d'avance!

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    734
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 734
    Par défaut
    En théorie, non.

    Mais après, il faut être rigoureux lorsqu'il s'agit d'appliquer une modification de grande ampleur sur base. Et prévoir un retour en arrière au cas où la migration échoue.

    Mais je croyais que l'on t'interdisais de modifier la base.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copie fichier impossible car fichier utilisé
    Par Mister Nono dans le forum Hibernate
    Réponses: 1
    Dernier message: 22/05/2007, 10h41
  2. Création d'executable impossible
    Par ForceTranquille dans le forum Langage
    Réponses: 7
    Dernier message: 24/04/2007, 15h07
  3. Réponses: 2
    Dernier message: 14/02/2007, 12h07
  4. Création clé étrangère impossible
    Par Mister Nono dans le forum Outils
    Réponses: 4
    Dernier message: 10/10/2006, 16h16
  5. débugage impossible car manque d'"informations"
    Par kaseigan dans le forum MFC
    Réponses: 9
    Dernier message: 28/05/2006, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo