Je reçois le message "littéral ne correspond pas à la chaîne de format".Mappage d'une date Oracle à un objet Java à l'aide de Hibernate
Par exemple, voici quelques méthodes d'une classe Java:
public String getDateTime();
public void setDateTime(String date_time);
Voici le mappage du fichier de configuration Hibernate pour cette classe:
<property name="dateTime" column="date_time">
et voici le DDL pour que colonne:
CREATE TABLE "SCHEMA"."TABLE_NAME"
(
"DATE_TIME" DATE,
etc.
)
J'ai essayé de définir type = "date" et "timestamp" (pas en même temps) en tant que attr sur la propriété dans la configuration hibernate, puis en changeant le type Java de String à Date, mais cela m'a donné une erreur différente. J'ai lu quelque chose à propos de la liaison du paramètre mais je ne pouvais pas en faire la tête ou la queue.
Lorsque je commente cette propriété à partir de la configuration, tout le reste fonctionne, donc je suis sûr que c'est mon problème. Ce qui m'ennuie, c'est que j'ai un autre mapping de table/classe avec apparemment le même mapping Oracle Date-> Java String qui ne me pose pas ce problème.
Guh. Je ne pense pas que j'ai changé le type du paramètre setter method de String à Date la première fois. Se sentir bête, parce que ça a fonctionné comme sur des roulettes cette fois. –
Cela ne fonctionne que si vous n'incluez PAS l'attribut "type" dans la propriété de mappage: Si vous incluez le type avec la valeur "date" ou "timestamp" "il ne sera pas convertir les valeurs avec précision. Donc, ce qui suit est BAD: Voici un lien expliquant pourquoi cela est vrai: http://fishbowl.pastiche.org/2005/07/13/hibernate_oracle_and_dates_a_story/et voici un lien expliquant la solution: http://www.enavigo.com/2007/10/20/mapping-hibernate-to-oracle-date-fields/ –