Impossible de convertir de '0000-00-00 00:00:00' de TIMESTAMP

la définition d'un champ

 /** Date. */
  @Column(columnDefinition = "datetime")
  private Date date;

setter

public void setDate(final Date date) {
    DateFormat dfmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    try {
      this.date = dfmt.parse(dfmt.format(date));
    } catch (ParseException e) {
      //TODO Auto-generated catch block
      e.printStackTrace();
    }

  }

Quelqu'un a une idée de comment convertir "zéro jour" dans la bonne valeur ?
Parce que j'ai l'erreur:

Cannot convert value '0000-00-00 00:00:00' from column 13 to TIMESTAMP

Et même si j'ai mis "par défaut" sur le terrain et setter comme ceci:

/** Date. */
      @Column
      private Date date;


public void setDate(final Date date) {
      this.date = date;   
  }

Je vais encore avoir le même problème....

  • Il me semble que 0000-00-00 00:00:00 ne correspondent à aucun moment dans le temps, et donc, fondamentalement, ne peut pas être convertie en une valeur d'horodatage. Quel est le comportement que vous vouliez? Voulez-vous convertir le non valide de date ISO sur une valeur par défaut?
  • la prochaine étape après je reçois de données(il y a plus d'une colonne dans le tableau) à partir de la table est d'écrire cela dans le langage XML, mais(!) je ne vais pas écrire la Date de valeur en XML, donc, je veux juste récupérer les données de la table et après alors que je n'appellerai jamais getDate() la méthode.
  • "Voulez-vous convertir le non valide de date ISO sur une valeur par défaut?" - oui, si c'est possible...
InformationsquelleAutor Oleksandr | 2009-09-01