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

JPA Java Discussion :

problème de génération de clé


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 139
    Par défaut problème de génération de clé
    salut tout le monde,
    j'ai un problème avec la génération de clé , tout d'abord j'ai essayé comme suit;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @Id
       @Column(name = "CODE_CAISSE", nullable = false) @SequenceGenerator(name="code_caisse_SEQ",sequenceName="code_caisse_SEQ", allocationSize=1)
      @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="code_caisse_SEQ")
        private Long codeCaisse;
    ça n'a pas marché,
    j'ai ensuite pensé a@TableGenerator et ça n'a pas aussi marché,(c'est la première fois que j'essaie avec):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @Id
       // @TableGenerator(name="empGen",table="GEN_TAB",allocationSize=1 )
        //@GeneratedValue(strategy=GenerationType.TABLE, generator="empGen")
        @Column(name = "CODE_CAISSE", nullable = false)
     private Long codeCaisse;
    mais je veux dire que je trouve des noms compliqués de tables ,au niveau de schèma de ma base , et je crois qu'il fallait mettre le nom correspondant au niveau de "name" à la place de "empGen",
    en tout cas peu être que ce raisonnement j'ai pas juste mais c'est ce que j'ai pu faire,
    j'espère que quelqu'un pourra m'aider,
    merci

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 139
    Par défaut
    bonjour tous le monde,
    est ce que c'est vraiment très délicat ce problème , je ne peux pas continuer mon travail sans résoudre cette partie,
    j'ajoute quelques informations:
    je travaille avec oracle express 10g, glassfish, netbeans, toplink essentials(faut il peut etre ajouter un jar )

    est ce qu'il y a une autre méthode pour la génération de clé, si je crée un trigger pour déclancher la séquence, comment je peu l'appeller dans java?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 139
    Par défaut
    bonjour,
    j'ai un problème un peu bizarre, c'est que j'ai voulu effectuer une insertion dans ma table "caisse",et j'ai mis au niveau du champ du clé primère 'code_caisse_seq.nextval' ("code_caisse_seq" c'est la séquence)
    ,mais oracle m'a affiché:error ORA-02289: sequence does not exist
    est ce que vous avez une idée?

  4. #4
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Bonjour, je veus bien te dépanner, donnes moi le code sql de la table concerné et je te donnerais le code jpa.

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 139
    Par défaut
    voilà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    create table caisse
    (
    code_caisse  number(10),
    libelle_caisse  varchar2(10)  NOT NULL,
    matricule_caisse number(10) NOT NULL,
    matricule_uf number(10) NOT NULL,
    date_caisse date NOT NULL,
    code_journal number(10) NOT NULL,
    compte_caisse number(10) NOT NULL,
    constraint pkc2 primary Key(code_caisse)
    );
    merci

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 139
    Par défaut
    salut ,
    enfin c'est résolu , en fait , le problème est lié à la création de la séquence depuis oracle, la séquence est créée mais lorsque j'exécute une requête de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nom_sequence.nextval from dual;
    j'aurais un message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-02289: sequence does not exist
    j'ai essayé de créer de nouveau la séquence, enfin je ne sais pas pourquoi oracle n'accepte la séquence que si son nom est comme ça; nomtable_SEQ
    en tous cas j'espère que j'ai bien expliqué pour ceux qui confronteront le même problème,
    le @GeneratedValue marche bien maintenant, sauf pour la table qui possède deux clé primères (j'ai voulu appliquer la génération sur l'une des clés mais ça n'a pas marché; je ne sais pas si vous avez une idée)

    mecri tout particulièrement pour toi Philcmoi,
    @+

Discussions similaires

  1. Réponses: 20
    Dernier message: 14/06/2008, 14h18
  2. [DOM] problème de génération d'un xml avec dom
    Par WalidNat dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 04/05/2006, 17h12
  3. [SQL Server 2005] Problème de génération de requêtes.
    Par just1980 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/04/2006, 18h44
  4. [Tableaux] problème de génération d'un agenda
    Par Nowhere dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2006, 06h30
  5. Réponses: 2
    Dernier message: 25/09/2005, 21h30

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