Postgresql and java.util.Date

194 views
Skip to first unread message

rdunklau

unread,
Feb 23, 2010, 4:41:48 AM2/23/10
to Persevere
Hello !

I'm trying to use postgresql as backend for persevere, and i'm running
through some problems.
Whenever i try to insert a date value, I've got the following
exception:

org.postgresql.util.PSQLException: Can't infer the SQL type to use for
an instance of java.util.Date. Use setObject() with an explicit Types
value to specify the type to use.
at
org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:
1772)
at
org.postgresql.jdbc3g.AbstractJdbc3gStatement.setObject(AbstractJdbc3gStatement.java:
37)
at
org.postgresql.jdbc4.AbstractJdbc4Statement.setObject(AbstractJdbc4Statement.java:
46)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:
166)
at org.persvr.datasource.DatabaseTableDataSource
$1.finished(DatabaseTableDataSource.java:309)
at
org.persvr.data.PersistableObject.persistNewObject(PersistableObject.java:
479)
at
org.persvr.data.NewObjectId.persistIfNeeded(NewObjectId.java:54)
at org.persvr.data.Transaction.commit(Transaction.java:229)
at org.persvr.remote.Client.commitTransaction(Client.java:54)
at org.persvr.remote.PersevereFilter
$DefaultHandler.call(PersevereFilter.java:973)


After a bit of investigation, it seems that postgreSQL jdbc driver
does not accept java.util.Date as parameters in prepared statements,
because converting it to a java.sql.Date type would lose information
regarding the time.

My question is, can I work around this issue in persevere ?

Thanks !

Reply all
Reply to author
Forward
0 new messages