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 :

[NativeQuery] Recuperation des valeur d'une requete


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 154
    Par défaut [NativeQuery] Recuperation des valeur d'une requete
    Bonjour,

    Dans mon projet, j'utilise les EJB3, cependant, j'ai été amené a faire une requête avec du code SQL sous cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    query = entityManager
                    .createNativeQuery("SELECT p.id_personne_parcours, "
                        + "m.date_et_heure "
                        + "FROM t_elo_parcours p, T_DISPO m, "
                        + "T_ETAP e "
                        + "WHERE p.id_parcours IN "
                        + "(SELECT a.id_parcours FROM t_elo_etapes a, "
                        + "(SELECT id_parcours, max(date_et_heure_creation) "
                        + "as date_et_heure_creation FROM t_elo_etapes GROUP BY id_parcours) b "
                        + "WHERE a.id_parcours = b.id_parcours AND a.date_et_heure = b.date_et_heure "
                        + "AND a.id_type_etape != 33) AND p.id_parcours = e.id_parcours AND m.id_etape = e.id_etape");
     
    retour = (List<SyntheseValeur>) query.getResultList();
    avec :

    List<SyntheseValeur> retour = new ArrayList<SyntheseValeur>();
    et la classe SyntheseValeur qui a deux attribut dans sa déclaration de classe :

    long id;
    Date date;
    Avec bien sur les setters et les getters qui vont avec.

    Cependant, lorsque j'essaie d'obtenir les valeurs de la liste retour, je n'obtiens rien du tout a part un classCastException.
    Comment puis je faire pour récupérer les valeur de ma requête afin de les insérer dans la liste (retour).

    Merci.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    L'erreur ClassCastException est normale, tu dois récupérer un tableau d'Object.
    Dans ton cas, il faudrait utiliser la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Query query = entityManager.createNativeQuery("select ...", SyntheseValeur.class);
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 154
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    L'erreur ClassCastException est normale, tu dois récupérer un tableau d'Object.
    Dans ton cas, il faudrait utiliser la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Query query = entityManager.createNativeQuery("select ...", SyntheseValeur.class);
    A+
    En effet par la suite j'ai utilisé cette commande, mais cela n'a pas fonctionner. Dois je rajouter un élément supplémentaire ou dois je faire quelque chose de particulier par rapport a la classe SyntheseValeur ?

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Quelle était l'erreur ? Tu as un stacktrace à montrer ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 154
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Quelle était l'erreur ? Tu as un stacktrace à montrer ?
    L'erreur que j'obtiens est celle ci :

    org.hibernate.MappingException: Unknown entity: com.transverse.ov.RpaElementListeSyntheseValeur

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par top_eagle Voir le message
    L'erreur que j'obtiens est celle ci :

    org.hibernate.MappingException: Unknown entity: com.transverse.ov.RpaElementListeSyntheseValeur
    Quel rapport entre SyntheseValeur et RpaElementListeSynthese ?
    Peux-tu montrer le mapping ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/02/2011, 00h53
  2. [MySQL] Perte de la liste des valeurs d'une requete sql
    Par yaya_la_rafale dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/04/2010, 14h30
  3. Recuperation des valeur d'une ligne-DetailView
    Par usermap dans le forum Débuter
    Réponses: 0
    Dernier message: 30/03/2009, 16h43
  4. [DAO][00]Envoyer des valeurs dans une requete SQL direct
    Par Jeannot2 dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/04/2007, 10h18
  5. recupere des données d'une requete
    Par torNAdE dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/07/2006, 10h38

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