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

JDBC Java Discussion :

Comment récupérer le résultat d'une requête ?


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 19
    Points
    19
    Par défaut Comment récupérer le résultat d'une requête ?
    Bonjour,

    Je vous explique mon problème. L'application que je développe est un annuaire classique d'entreprise. J'ai à gérer des tables MySQL nommées "Division", "Service", "Contact", "Coordonnees" et "Pays", ces tables sont liées entre elles par des relations directionnelles.

    L'environnement est sous JBOSS5 et Hibernate (MySQL 5.1). L'ensemble fonctionne déjà bien. Je n'ai pas eu de problème particulier jusqu'à présent.

    La requête SQL présente dans mes codes relie bien les entity créés.

    Voici le code contenu dans le SessionBean :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public AllInfosAboutContactBean getServiceByContact(Contact cont){
    		Query query = em.createQuery("SELECT service.lblService AS lblService, division.lblDivision AS lblDivision, contact.nom AS nom, contact.prenom AS prenom, contact.mail AS mail, contact.birthday AS birthday, contact.tel_portable AS tel_portable, contact.tel_fixe AS tel_fixe, contact.commentaire AS commentaireCont, coordonnees.adresse1 AS adresse1, coordonnees.adresse2 AS adresse2, coordonnees.CP AS CP, coordonnees.ville AS ville, pays.lblPays AS lblPays, coordonnees.telephone AS telephone, coordonnees.fax AS fax, coordonnees.commentaire AS commentaireCoord FROM Contact contact, Service service, Coordonnees coordonnees, Pays pays, Division division WHERE service.idService=contact.service AND division.idDivision=service.division AND coordonnees.idCoord=service.coord AND pays.idPays=coordonnees.pays AND contact.idCont=?0");
    		query = query.setParameter(0, cont.getId());
    		return (AllInfosAboutContactBean) query.getSingleResult();
    	}
    et le code contenu dans AllInfosAboutContactBean est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    public class AllInfosAboutContactBean {
     
    	private String lblService;
     
    	private String lblDivision;
     
    	private String nom;
    	private String prenom;
    	private String mail;
    	private String birthday;
    	private String tel_portable;
    	private String tel_fixe;
    	private String commentaireCont;
     
    	private String adresse1;
    	private String adresse2;
    	private String CP;
    	private String ville;
    	private String lblPays;
    	private String telephone;
    	private String fax;
    	private String commentaireCoord;
     
            // getters et setters...
    }
    J'ai exécuté la requête SQL sous PHPMyAdmin et elle fonctionne très bien, je n'ai qu'une seule ligne avec les infos demandées.

    Cependant j'ai un problème : la classe retournée par query.getSingleResult() ne correspond pas à celle de AllInfosAboutContactBean...

    Une chose à savoir : AllInfosAboutContactBean n'est pas parmi les entity servant à concevoir une table car elle sert uniquement pour les résultats de la requête.

    Merci de votre aide...

    Cordialement,

    Vito12345

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    Bon... J'ai fini par contourner ce problème et j'ai utilisé une autre méthode pour parvenir à mes fins...

    C'est quand même bien que Java prenne tout en main avec le mapping objet ^^

    (j'avais oublié que j'avais déjà une méthode "getService()" dans l'objet Contact qui, lui, est aussi relié aux objets Coordonnees (et donc aussi vers Pays) et Division. Bref, je cherchais des infos sur la bdd alors que je les avais déjà)

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

Discussions similaires

  1. [Stored Proc] Comment récupérer le résultat d'une requête ?
    Par discmat dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 12/04/2010, 11h33
  2. Réponses: 13
    Dernier message: 09/02/2009, 13h51
  3. [MySQL] Comment récupérer le résultat d'une requête dans PHP
    Par zouzino dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/11/2007, 22h53
  4. récupérer le résultat d'une requête sql dans un edit
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2005, 14h07
  5. Réponses: 7
    Dernier message: 30/06/2005, 10h06

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