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 :

Requete JPQL pour extraire l année d une date


Sujet :

JPA Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Points : 27
    Points
    27
    Par défaut Requete JPQL pour extraire l année d une date
    Bonjour tt le monde

    j ai besoin d aide concernant une reqeute JPQL dans laquel je voudrai récupérer l'année d'une date, j ai utilisé year() comme tel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT p.date FROM employe p WHERE YEAR (p.date)= :'2008'
    mais ça ne marche pas !!
    quelqu'un a une suggestion , merciiiiiiiii

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Peux-tu montrer le code exacte de ta méthode ?
    Dans l'idée, c'est comme ça que je ferais...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    voici le code de la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public List<StatsParDepartement> recupDate(String year){
    		Query q = this.query("SELECT stat.dateStat FROM StatsParDepartement stat WHERE YEAR(stat.dateStat)=     :year").setParameter("year", year);
    		List<StatsParDepartement> liste = q.getResultList();
     
    		return liste;
    	}
    voici l'erreur qu il m affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception Description: Syntax error parsing the query [SELECT stat FROM StatsParDepartement stat WHERE YEAR(stat.pk.dateStat)= :year], line 1, column 52: unexpected token [(].

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Oups, désolé, JPQL ne gère pas la fonction YEAR...

    Le plus simple (à mon sens) est de passer par un nativeQuery.
    Regarde ceci pour plus de détail.


    Sinon tu peux toujours contourner le problème en passant une fourchette de dates.
    Par exemple, tu cherches l'année 2008, il suffit de chercher les dates comprises entre 01-01-2008 et 31-12-2008 avec une requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    query("SELECT stat.dateStat FROM StatsParDepartement stat 
    WHERE stat.dateStat between :year1 and :year2").setParameter("year1", year1).setParameter("year2", year2);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Merci beaucoup pou ton aide OButterlin

    j ai suivi ton conseil et j ai pu contourner le pbm en passant une fourchette de dates , ça marche bien

    thanks

  6. #6
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Si si la fonction YEAR marche bien, j'avais déjà repondu à cette question sur ce post
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

Discussions similaires

  1. SAS GUIDE Extraire l'année d'une date
    Par faraudch dans le forum Outils BI
    Réponses: 5
    Dernier message: 23/09/2011, 15h34
  2. [SQL] Extraire l'année d'une date à l'aide d'une proc sql
    Par fpolo dans le forum SAS Base
    Réponses: 4
    Dernier message: 01/04/2011, 17h05
  3. [DeskI V5-V6] Extraire l'année d'une date
    Par dufrane dans le forum Débuter
    Réponses: 3
    Dernier message: 15/10/2010, 14h44
  4. [MySQL] Extraire l'année d'une date MYSQL
    Par fosto dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/04/2010, 15h57
  5. extraire l'année d une date
    Par adelsunwind dans le forum IHM
    Réponses: 3
    Dernier message: 20/08/2008, 16h16

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