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 :

timestamp et oracle


Sujet :

Hibernate Java

  1. #1
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Par défaut timestamp et oracle
    Bonjour,

    je suis en train de migrer notre application de postgresql vers oracle. Je travaille avec tomcat 6 + hibernate 3.2.

    J'ai un problème sur les dates. Quand je fais une requête HQL j'utilise généralement le java.util.Date pour passer un timestamp à ma requête. J'ai essayé de passer un java.sql.Timestamp à la place mais ça ne marche pas mieux. En fait la requête sql générée par hibernate ressemble à çà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from etat_materiel where date_<='2008-06-19 11:17:55.433';
    Ce qui me donne l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ERROR at line 1:
    ORA-01843: not a valid month
    On me glisse à l'oreille qu'il faudrait utiliser la fonction to_date en sql pour obtenir le bon format oracle qui est un timestamp(3) ... mais comment faire cela avec le mapping hibernate ?!?!

  2. #2
    Membre actif
    Inscrit en
    Août 2004
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 41
    Par défaut
    J'ai utilisé y'a longtemps ORACLE.

    Mon type de donnée Oracle était DATE
    Mon type hibernate etait java.util.Date
    Et je n'avais pas de problème pour rechercher des enregistrements à partir d'une date au format date+time...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut Solution
    Moi, à ta place, je ferai ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from etat_materiel where date_<=to_date('2008-06-19 11:17:55', 'rrrr-mm-dd hh24:mi:ss');
    en n'oublient pas de supprimer la partie fractionnaire du timestamp...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 104
    Par défaut
    Salut,

    normalement, hibernate se débrouille tout seul.
    Type java.util.Date pour ta propriété
    Type DATE pour ta colonne (j'ai aussi utilisé TIMESTAMP(3) et c'est pareil)
    Et dans le mapping, c'est timestamp.

Discussions similaires

  1. récuperer une colonne de type TIMESTAMP d'oracle
    Par Sniper37 dans le forum Développement
    Réponses: 1
    Dernier message: 19/07/2010, 16h59
  2. TIMESTAMP sur oracle 10
    Par sajodia dans le forum Toad
    Réponses: 11
    Dernier message: 16/05/2008, 16h13
  3. Conversion timestamp vers date avec oracle 9.2
    Par gaboo_bl dans le forum Oracle
    Réponses: 5
    Dernier message: 27/11/2006, 14h10
  4. [Oracle 9.1] Plantage update SQL et Timestamp
    Par ftrifiro dans le forum Oracle
    Réponses: 6
    Dernier message: 06/10/2005, 14h34
  5. [SQL ORACLE] Soustraction de deux timestamps
    Par platinum07 dans le forum SQL
    Réponses: 34
    Dernier message: 02/07/2004, 10h42

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