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 :

Requete select Aide


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut Requete select Aide
    Bonsoir,

    Je suis entrain de travailler avec le framework hibernate et je veux extraire toutes les données d'une table dans ma base de données . pour cela j'ai fait la méthode suivante mais malheureusement elle marche pas et je sais pas pourquoi.Je voudrais bien que vous m’aider s'il vous plait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @Override
    	public List<Emploipreference> getEmploipreferenceByTypeJob(int idtypeemploi) {
     
    		Session session=getSessionFactory().getCurrentSession();
    		Transaction trans=session.beginTransaction();
    		List list = getSessionFactory().getCurrentSession().createQuery("select distinct(e.typeemploi),e.candidat from Emploipreference e ")
            .setParameter(0, idtypeemploi).list();
    		trans.commit();
            return list;
    	}

    Merci

  2. #2
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    pour utiliser setParameter, il faut avoir une clause where avec le paramètre dedans, genre "where typeemploi=?"

    Ensuite, ta requête ne retourne pas des "Emploipreference", mais des paires [typemploi,candidat]
    Enfin, le function distinct s'utilise avec un group by, ce que tu n'utilise pas.

    Bref, ta requête n'a ni queue ni tête, je te conseille de commencer par lire la doc hibernate sur le language de requêtes.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    J'ai peu modifier comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @Override
    	public List<Emploipreference> getEmploipreferenceByTypeJob(int idtypeemploi) {
     
    		Session session=getSessionFactory().getCurrentSession();
    		Transaction trans=session.beginTransaction();
    		List list = getSessionFactory().getCurrentSession().createQuery("select DISTINCT (emppref.typeemploi),emppref.candidat.id from Emploipreference emppref where emppref.typeemploi.id=? group by emppref.typeemploi")
            .setParameter(0, idtypeemploi).list();
    		trans.commit();
            return list;
    	}
    mais j'obtiens l'erreur suivante

    Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.model.Emploipreference

  4. #4
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "select DISTINCT (emppref.typeemploi),emppref.candidat.id
    Ca te retourne une paire [typeemploi,id], ce qui n'a rien à voir avec la classe Emploipreference.
    Autrement dit, ta sortir de Query.list(), ici, te retourne une List<Object[]>


    Pourquoi tu joue avec distinct, avec group by, pourquoi tu query des colonne particulière, alors que, si je comprend bien le nom de la méthode, tout ce qui t'intéresse, c'est de récupérer la table Emploipreference ??


    Tu dois retirer le distinct (tu peux même carrément retirer le select) et juste choisir la table et ta clause where. Y a pas besoin de se triturer les méninge sur un besoin aussi basique.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    si je vais jouer avec seulement le from et where comment ça sera ma requête alors que moi j'ai besoin du distinct ?

    Vous pouvez me solutionner s'il vous plait ?

    Merci

  6. #6
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    si t'expliquait ce que tu veux faire comme requête, parce que je ne vois pas pourquoi tu aurais besoin de faire un distinct

Discussions similaires

  1. Aide sur une requete select
    Par iomega dans le forum Débuter
    Réponses: 4
    Dernier message: 04/02/2008, 15h03
  2. aide requete select d'une table dans une autre table
    Par alexkickstand dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/10/2007, 22h09
  3. Aide pour une requete (SELECT)
    Par Space Cowboy dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/01/2007, 16h21
  4. Requete SELECT à l'aide d'un contenu partiel d'un champ
    Par wylls dans le forum Langage SQL
    Réponses: 11
    Dernier message: 04/12/2006, 11h33
  5. Aide pour une requete selection unique.
    Par mitchb dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/11/2006, 16h42

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