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

Hibernate Java Discussion :

Requête et sous-requête en Hibernate


Sujet :

Hibernate Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 27
    Points
    27
    Par défaut Requête et sous-requête en Hibernate
    Bonjour tout le monde,

    J'ai la requete SQL suivante que je souhaiterai transformer en Hibernate :

    SELECT X.champ1
    FROM X
    WHERE X.champ2 IN (SELECT Y.champ2 FROM Y WHERE Y.champ3 = 'aaa' AND Y.champ4 = 'bbb' AND Y.champ5)


    J'ai regardé sur le NET et j'ai trouvé comme solution DetachedCriteria mais j'ignore comment utiliser le mécanisme;

    Y-a-t-il quelqu'un qui peut m'aider ???

  2. #2
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 373
    Points
    19 373
    Par défaut
    Bonjour,

    Je comprends pas très bien ta question : hibernate permet de faire de la persistance, à savoir transformer des objets en données et inversement.

    Pourrais-tu préciser exactement ce que tu veux ?
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 27
    Points
    27
    Par défaut
    Bien avec Hibernate, on crée notre requete comme suit :

    Crieteria criteria = session.createCriteria(X.class);
    criteria.add(Restrictions.......);

    list = criteria.list();


    Et c'est dans ce sens que je veux créer ma requête!!!!

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 27
    Points
    27
    Par défaut
    Je voudrais implémenter avec l'API Criteria une requête de SELECT imbriqué!!!

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.createQuery ("from X where X.champ2 in (select Y.champ2 from Y where Y.champ3 = 'aaa' and Y.champ4 = 'bbb' and Y.champ5 is true)");
    sauf qu'ici X et Y dénotent de noms de classe et non des noms de table


    PS: je sais pas comment le réaliser avec un Criteria par contre :p

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DetachedCriteria sousRequete = DetachedCriteria.forClass(Y.class);
    sousRequete.add(Property.forName("champ3").eq("aaa"))
    sousRequete.add(Property.forName("champ4").eq("bbb"));
    sousRequete.setProjection(Projections.property("champ2"));
     
    DetachedCriteria criteria = DetachedCriteria.forClass(X.class);
    criteria.add(Property.forName("champ2").in(subCriteria));
     
     
    findByCriteria(criteria);

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 27
    Points
    27
    Par défaut
    Merci mais ça ne fonctionne pas !!!!

Discussions similaires

  1. Requête et sous requête
    Par 501darts dans le forum Développement
    Réponses: 1
    Dernier message: 21/02/2008, 10h53
  2. intégré une sous requête dans une requête
    Par Smix007 dans le forum SQL
    Réponses: 13
    Dernier message: 25/06/2007, 11h45
  3. inclure une sous requête dans une requête
    Par garsflo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 08/05/2007, 19h12
  4. Requête et sous requête avec SELECT et UPDATE
    Par Véronique75ca dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 29/06/2006, 21h25
  5. Requêtes et sous requêtes
    Par lau2nyce dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/03/2004, 15h14

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