Iae galera…
Trabalho com Wicket, Spring e Hibernate.
O problema é que nos campos de data ( java.util.Date ) quando o usuário digita uma data do tipo 10/13/2009 ( inválida por conta do mês ) a data chega na web page ( ou bean ou action ) “consertada”, ou seja, ela chega 10/01/2010.
Fizemos o seguinte, mudamos os campos para LocalDate ( Joda Time ) e criamos um LocalDateConverter.
O problema do “consertamento” da data foi resolvido.
Só que nao dá para persistir esse campo.
Um exemplo de stacktrace que obtive na hora de consultar essa tabela:
com.ibm.db2.jcc.a.SqlException: [jcc][1083][10406][3.52.95] Conversão ilegal: não é possível converter de "byte[]" para "java.sql.Date" ERRORCODE=-4474, SQLSTATE=null
at com.ibm.db2.jcc.a.ad.a(ad.java:650)
at com.ibm.db2.jcc.a.ad.a(ad.java:60)
at com.ibm.db2.jcc.a.ad.a(ad.java:94)
at com.ibm.db2.jcc.a.ec.a(ec.java:677)
at com.ibm.db2.jcc.a.ec.a(ec.java:1093)
at com.ibm.db2.jcc.a.ec.a(ec.java:1061)
at com.ibm.db2.jcc.a.sl.a(sl.java:1724)
at com.ibm.db2.jcc.a.sl.nc(sl.java:4204)
at com.ibm.db2.jcc.a.sl.e(sl.java:2993)
at com.ibm.db2.jcc.a.sl.e(sl.java:3393)
at com.ibm.db2.jcc.a.sl.Ob(sl.java:569)
at com.ibm.db2.jcc.a.sl.executeQuery(sl.java:543)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2213)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
Algum tem alguma solução ou para a data parar de ser transformada ou para persistir LocalDate ( com preferência para solução para persistir LocalDate)
Obrigado