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 :

[Criteria] Requête avec une date de début et une date de fin


Sujet :

Hibernate Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 238
    Points : 90
    Points
    90
    Par défaut [Criteria] Requête avec une date de début et une date de fin
    Bonjour

    j'essaie de faire des requêtes avec des dates (et je trouve qu'il n'existe pas pire chose que les dates). Enfin...

    Dans ma table, c'est un champ Date (par exemple : 2006-08-16 12:23:52)
    Lorsque j'effectue une recherche avec les criteria de Hibernate et que je précise
    comme date de début, le 2006-08-16 et comme date de fin, le 2006-08-16, aucun résultat.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    crit.add(Expression.between("date_aff", 
    	addDay(	transformDate(date_deb_search), -1),
    	addDay(transformDate(date_fin_search), 1)));
    La "manip" que je fais permet de soustraire un jour à la borne min et d'ajouter un jour à la borne max.
    Ainsi lorsque l'intervalle est 16-08-2006, la requête cherche ce qui se trouve entre le 15-08-2006 et le 17-08-2006.

    Connaissez-vous une manière plus simple pour faire des recherches de dates en passant une date de début et une date de fin (les bornes doivent être incluses...)

    Merci bien à vous !

  2. #2
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 238
    Points : 90
    Points
    90
    Par défaut
    J'ai fini par trouver.
    En fait, il suffisait de prendre comme intervalle [Date, Date +1].
    Je m'explique lorsque je passe comme date le 17/08/2006, mon ancienne manip cherchait entre le 16/08/2006 et le 18/08/2006.
    Or le 16 était inclus et pas le 18. J'avais donc les résultats allant du 16/08/2006 au 17/08/2006.
    La solution consistait à aller du 17/08/2006 au 18/06/2006.
    Je ne sais pas si c'est bien clair pour vous, mais l'essentiel c'est que j'ai trouvé la réponse.

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

Discussions similaires

  1. [AC-2002] Requête avec IIf et Dlast, champ sur une deuxième table
    Par mbuddy dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 03/06/2009, 05h33
  2. Réponses: 11
    Dernier message: 05/12/2008, 17h10
  3. Gérer l'ensemble des dates entre une date de début et une date de fin
    Par shaun_the_sheep dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/04/2008, 12h13
  4. Réponses: 1
    Dernier message: 03/07/2007, 07h43
  5. Comment obtenir la date de début d'une semaine ?
    Par Vodkha dans le forum Langage
    Réponses: 5
    Dernier message: 19/08/2005, 10h54

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