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

JSF Java Discussion :

[JSF / DAO] Récupération d'une date dans la base SQL


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut [JSF / DAO] Récupération d'une date dans la base SQL
    Bonjour à tous,

    Je suis confronté à un problème lors de la récupération d'une date dans ma base sql.

    Mon enregistrement se fait sans soucis, la date s'affiche bien dans ma base (je précise que le type de mon champs date dans mon entite est: java.util.Date, tout comme dans mon Bean).

    Le problème intervient lorsque j'effectue ma requête DAO. Voici l'erreur affichée: Value '0000-00-00' can not be represented as java.sql.Date.

    J'ai imaginé que lorsque j'enregistre ma date, il la transforme automatiquement en java.sql.date, et j'ai donc modifié ma date dans dans mon entite en sql.date, mais l'erreur persiste toujours. Peut être faudrait il faire une conversion de sql.date en util.date directement dans la méthode DAO, mais je ne vois pas comment?

  2. #2
    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
    Peut on voir le code de ton entité?

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @Column(name = "DATE", columnDefinition = "DATE", nullable = false)
    	private Date date;
    + Getters Setters

    J'ai essayé de modifier le type en java.sql.Timestamp sans succès.

    Je ne comprends pas cette erreur.

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    J'ai détourné le problème en enregistrant ma date en String dans la base, grâce à la méthode SimpleDateFormat. Néanmoins, je trouve ça dommage de ne pas utiliser le champs de type DATE en sql, qui normalement est fait précisément pour ça.

    Donc, si quelqu'un a des idées ou des explications, je suis toujours preneur.

  5. #5
    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
    Citation Envoyé par Thomas423 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @Column(name = "DATE", columnDefinition = "DATE", nullable = false)
    @Temporal(TemporalType.DATE)
    	private Date date;
    Et si tu rajoutais cette annotation.

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Toujours la meme erreur

  7. #7
    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
    Citation Envoyé par Thomas423 Voir le message
    Toujours la meme erreur
    .
    Quel est le type de la colonne en Base? est ce vraiment une Date? ou un String?

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Le type dans mysql est un Date

  9. #9
    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
    Citation Envoyé par Thomas423 Voir le message
    Le type dans mysql est un Date
    Alors le problème se trouve ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le problème intervient lorsque j'effectue ma requête DAO. Voici l'erreur affichée: Value '0000-00-00' can not be represented as java.sql.Date.
    Cette valeur n'est pas une date pour Hibernate.Surprenant que Mysql l'ait d'ailleurs accepté.

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Le problème doit venir de quelque chose d'interne à l'application je pense, mais merci de m'avoir accordé de ton temps DevServlet.

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

Discussions similaires

  1. [MySQL] Insérer une date dans la base données
    Par pi-2r dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/04/2010, 21h22
  2. [MySQL] Enregistrer une date dans la base de données
    Par tkhchkhiche dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/09/2009, 07h18
  3. Probleme d'ajout d'une date dans un base de donnée access(conversion)
    Par jacko842 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 20/01/2008, 12h27
  4. impossible d'insérer une date dans la base
    Par bobic dans le forum ASP
    Réponses: 3
    Dernier message: 03/10/2005, 11h29
  5. Oracle Designer: récupération d'une vue dans la base
    Par BILLYPATOU dans le forum Designer
    Réponses: 2
    Dernier message: 19/03/2004, 11h08

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