Salut à tous.
J'ai un problème avec la conversion des dates et je ne vois pas ce qui cloche.
J'ai une chaine qui correspond à une date de la forme yyyy-MM-dd (21-06-2006)
Et dans ma base, le format est le suivant : yyyy-MM-dd hh:mm:ss
1 2
| Date maDate = stringToDate(transformDate(date_deb_search),
"yyyy-MM-dd"); |
transformDate renvoie la date sous le bon format (yyyy-MM-dd).
1 2 3 4 5 6 7 8 9
| public static Date stringToDate(String sDate, String sFormat) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(sFormat);
return sdf.parse(sDate);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
} |
Et ensuite :
1 2
| crit.add(Restrictions.eq("date_aff", new java.sql.Date(
maDate.getTime()))); |
L'exception est levée par ce code :
List demandes = crit.list();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| java.lang.ClassCastException: java.sql.Date
org.hibernate.type.StringType.toString(StringType.java:44)
org.hibernate.type.NullableType.nullSafeSet(NullableType.java:87)
org.hibernate.type.NullableType.nullSafeSet(NullableType.java:65)
org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1514)
org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1576)
org.hibernate.loader.Loader.doQuery(Loader.java:661)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
org.hibernate.loader.Loader.doList(Loader.java:2145)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
org.hibernate.loader.Loader.list(Loader.java:2024)
org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1533)
org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
... |
Pouvez-vous me guider vers la résolution de mon problème ?
Partager