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 :

Convertir une requête SQL en requête HQL


Sujet :

Hibernate Java

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2010
    Messages : 38
    Par défaut Convertir une requête SQL en requête HQL
    Bonjour,

    je veux convertir cette requette en HQL : quand je l'execute sur la Bdd il donne le resultat souhaité, mais sur le code avec une requete Hibernate Hql , il ne marche pas
    SELECT * FROM Vidange as v WHERE TO_DAYS(NOW()) - TO_DAYS(v.Date_vidange)>2;
    Merci en Avance !!

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Pourquoi ne pas faire le traitement en amont ?
    Du coup, tu recherches simplement les enregistrements dont la date de vidange est inférieure à la date de demande - 2 jours.
    La date de référence se calcule comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DAY_OF_MONTH, -2);
     
    et la date se récupère par cal.getTime()
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 486
    Billets dans le blog
    5
    Par défaut
    J'ai eu ce problème, l'extrait de ce bout de code devrait t'aider:
    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
     
    public List<Appointment> getAppointmentByContributor(Integer idContributor,
    			Date begin, Date end) throws TechnicalExceptions {
          .......
     
                            Calendar cBegin = Calendar.getInstance();
    			cBegin.setTime(begin);
    			cBegin.add(Calendar.HOUR_OF_DAY, -24);
     
    			Calendar cEnd = Calendar.getInstance();
    			cEnd.setTime(end);
    			cEnd.add(Calendar.HOUR_OF_DAY, 24);
         .......
                            Query query = session.createQuery("from Appointment a where a.contributor.idContributor='" + idContributor+"' and "
    					+" a.date between ? and ?");
    			query.setDate(0, cBegin.getTime());
    			query.setDate(1, cEnd.getTime());
         .......
    }

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2010
    Messages : 38
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Pourquoi ne pas faire le traitement en amont ?
    Du coup, tu recherches simplement les enregistrements dont la date de vidange est inférieure à la date de demande - 2 jours.
    La date de référence se calcule comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DAY_OF_MONTH, -2);
     
    et la date se récupère par cal.getTime()
    Merci C'est fait !!!

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

Discussions similaires

  1. [AC-2003] Requête sql sur requête sql en vba
    Par Smoovy35 dans le forum Access
    Réponses: 3
    Dernier message: 17/01/2011, 20h25
  2. [CR 8] Question pour convertir une requete SQL SERVER en Requête CR
    Par nekro65 dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 24/06/2010, 11h37
  3. Convertir une requete SQL en HQL d'Hibernate
    Par Incinerator dans le forum Hibernate
    Réponses: 2
    Dernier message: 11/11/2008, 12h15
  4. Convertir une requete SQL en HQL d'Hibernate
    Par Incinerator dans le forum Hibernate
    Réponses: 1
    Dernier message: 10/11/2008, 18h00
  5. [SQL] Problème requête sql,rajouter une valeur,checbox
    Par snakejl dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/06/2006, 11h18

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