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

Java EE Discussion :

Traduction d'une requête MySQL en EJB-QL [EJBQL]


Sujet :

Java EE

  1. #1
    Membre actif
    Inscrit en
    Juin 2005
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 303
    Points : 201
    Points
    201
    Par défaut Traduction d'une requête MySQL en EJB-QL
    Bonjour,

    j'aimerais traduire la requete MySQL suivante en EJB-QL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM t_c A, t_m B, t_t C where A.id='valeur' and A.idcand=B.id_cand and B.idc=C.idc and C.id is not null
    j'ai essayé cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT OBJECT(A) FROM t_c A, t_m B, t_t C where A.id=?1 and A.idcand=B.id_cand and B.idc=C.idc and C.id is not null
    mais ca ne marche pas.

    Déjà est-ce possible avec l'EJB-QL de faire un select sur plusieurs tables.
    Si oui qu'elle est la traduction de la requête indiquée plus haut.

    Merci

  2. #2
    Membre actif
    Inscrit en
    Juin 2005
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 303
    Points : 201
    Points
    201
    Par défaut
    aucune idée?

  3. #3
    Membre actif
    Inscrit en
    Juin 2005
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 303
    Points : 201
    Points
    201
    Par défaut
    ayé, j'ai trouvé.

    En fait la traduction est correcte. Sauf souci, en EJB-QL on ne peut effectuer de comparaison qu'entre des champs de même type. or dans ma requete je comparais un Integer à un string. chose possible sous MySQL

    A bientot

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 13
    Points
    13
    Par défaut [EJB-QL] traduction d'une requête MySQL en EJB-QL
    Bonjour,
    j'ai vu dans cette forum le probleme concerannt la traduction d'une requête mysql en ejb-ql est resolue.
    Je ne sais si quelqu'un peut m'aider à traduire la requête suivante en EJB-QL:
    SELECT id_region,lib_region,lib_zone from region,zone where region.id_zone=zone.id_zone;
    table region(id_region clé,lib_region,id_zone clé)
    table zone(id_zone clé,lib_zone);
    Merci,
    cordialement
    heriniain_a1

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 79
    Points : 89
    Points
    89
    Par défaut
    et un
    SELECT r, z FROM region r, zone z WHERE r.id_zone=z.id_zone

    ?

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 13
    Points
    13
    Par défaut traduction d'une requête Mysql en EJB-QL
    je fait la requête SELECT r,z FROM region r,zone r WHERE r.zneid=z.zneid;
    On a l'erreur suivante
    ................

    Bean: RegionBean
    Method: java.util.Collection findregion()
    EJBQL: SELECT r,z FROM region r,zone r WHERE r.zneid=z.zneid;
    Error: column(8): JDO75201: Syntax error at 'r'.
    ; requested operation cannot be completed

    ...........................
    Merci.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 79
    Points : 89
    Points
    89
    Par défaut
    heuu plutot ceci :
    SELECT reg, zon FROM Region AS reg, Zone AS zon WHERE reg.id_zone=zon.id_zone

    je vais encore revérifier

    quoique si tu as fais tes relations correctement et que par exemple une Région contient plusieurs Zone alors ceci suffit
    SELECT reg FROM Region AS reg, Zone AS zon WHERE reg.id_zone=zon.id_zone

    normalement après tu peux accéder aux zones via l'objet "reg"

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 13
    Points
    13
    Par défaut traduction d'une requête Mysql en EJB-QL
    Avec SELECT reg, zon FROM Region AS reg, Zone AS zon WHERE reg.id_zone=zon.id_zone;
    c'est OK et merci !
    Est-ce que vous pouvez me donner une idée si je veut afficher donc la libellé zone au lieu de idf zone dans ma page .
    merci
    cordialement
    heriniain_a1

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 79
    Points : 89
    Points
    89
    Par défaut
    Il te suffit de faire quelque chose comme ceci :

    oRegion.getZone(id).getlib_zone();

    et tu auras le libellé de la zone dont son ID est id;
    tu peux aussi parcourir toutes les zones qui se trouve dans ta région, normalement elles ont été peuplée lors du SELECT précédent dans une ArrayList je pense.

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

Discussions similaires

  1. Comment faire une requête Mysql
    Par Xavier dans le forum C++Builder
    Réponses: 5
    Dernier message: 01/02/2007, 17h07
  2. besoin d'aide sur une requête mysql
    Par unmulot dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/07/2006, 13h17
  3. Probleme avec une requête MySQL
    Par Alexlesilex dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/05/2006, 17h48
  4. Intégrer un tableau dans une requête mysql
    Par GarGamel55 dans le forum Requêtes
    Réponses: 5
    Dernier message: 21/02/2006, 19h16
  5. Arrêt de l'exécution d'une requête MySQL dans DELPHI.
    Par joelmarc dans le forum Bases de données
    Réponses: 9
    Dernier message: 11/10/2004, 16h11

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