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 :

Vue, generatedValue et Count+1


Sujet :

JPA Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Vue, generatedValue et Count+1
    Bonjour tout le monde,
    Je reviens avec un autre petit soucis pour l'utilisation de JPA.
    Je dois faire des insertions de données sur une base oracle 11g, mais j'ai qq petites contraintes imposées (DBA oblige...)
    - Je dois passer par des vues (pas de soucis pour ca)
    - La valeur de l'id est une valeur générée par le trigger de la vue sur laquelle je fais l'insertion.

    Pour calculer la valeur d'id le trigger prend le nombre d'enregistrement de la table et fait +1 ...

    Je ne vois pas comment utiliser le GeneratedValue dans mon cas.

    Je suis a votre écoute.

    Merci d'avance

    PS: j'ai essayé d'enlever le generated value et de dire que le champs n'est pas updatable ou insertable.

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pour calculer la valeur d'id le trigger prend le nombre d'enregistrement de la table et fait +1
    Je connais pas très bien Oracle, mais dis moi Oracle aurait il une colonne séquentielle dans laquelle il joue avec ces ids de la table?
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    salut,
    Oui oracle sait gérer des séquences (ce qui m'arrangerait :p) mais voila, j'ai qqs contraintes sur ce développement dont celle de ne pas utiliser les séquences et de faire un nbr enregistrement +1.

  4. #4
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Ca va être difficile pour toi de faire comprendre ta politique de generation à JPA, car il comporte les politiques suivantes :
    -Generation automatique==>il genere lui même les ids
    -Generation manuelle==> les id sont à la charge du developpeur
    -Generation Sequentielle==> tu lui passes le nom d'une sequence en BD dans laquelle il ira puiser les sequences
    Pour ton cas, sauf meconnaissance de ma part, je ne pense pas que JPA comprenne cette politique.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Salut,
    J'en etais arrivé a la même conclusion (d'où mon poste :p).
    J'ai donc été obligé de faire du c*ca :

    Le champs est mis en ID (obligation d'en avoir un en JPA)
    Il est initialisé avec la valeur -1, car avec null ben ca marche pas (erreur JPA qui dit que la valeur doit être modifiée manuellement du faite de l'absence du GeneratedValue).

    Et mon trigger d'insertion dans la vue en gros c'est:

    si nouvelleValeur == null ou si nouvelleValeur == -1 alors
    valeur = nbrLigneTable+1

    Merci en tout cas pour vos aides...

    On fait ce qu'on peut avec les contraintes (plus ou moins justifiées) qu'on nous impose...

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

Discussions similaires

  1. Count chaque enregistrement de chaque vue
    Par Le-DOC dans le forum SQL
    Réponses: 2
    Dernier message: 18/09/2012, 14h21
  2. Réponses: 3
    Dernier message: 02/06/2010, 14h33
  3. Count dans une vue
    Par gldfdp dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/07/2005, 05h55
  4. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41
  5. compression de données du point de vue algorithmique
    Par GoldenEye dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 26/06/2002, 15h51

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