cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: AW: mysql date
Date Thu, 07 Dec 2006 09:38:56 GMT
I could easily reproduce the problem. After that I started poking  
around MySQL forums and found a solution - use "zeroDateTimeBehavior"  
URL parameter, e.g. "jdbc:mysql://localhost/cayenne? 
zeroDateTimeBehavior=convertToNull". Here is a few more relevant links:

http://forums.mysql.com/read.php?39,43138,43195
http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference- 
configuration-properties.html

Andrus




On Dec 7, 2006, at 10:53 AM, Peter Schröder wrote:

> here is the exception:
>
> java.sql.SQLException: Value '0000-00-00' can not be represented as  
> java.sql.Timestamp
> 	at com.mysql.jdbc.ResultSet.getNativeTimestamp(ResultSet.java:3848)
> 	at com.mysql.jdbc.ResultSet.getTimestampInternal(ResultSet.java:5488)
> 	at com.mysql.jdbc.ResultSet.getTimestamp(ResultSet.java:5146)
> 	at  
> org.objectstyle.cayenne.access.types.UtilDateType.materializeObject 
> (UtilDateType.java:117)
> 	at  
> org.objectstyle.cayenne.access.jdbc.JDBCResultIterator.readDataRow 
> (JDBCResultIterator.java:327)
> 	at  
> org.objectstyle.cayenne.access.jdbc.JDBCResultIterator.nextDataRow 
> (JDBCResultIterator.java:181)
> 	at org.objectstyle.cayenne.access.jdbc.JDBCResultIterator.dataRows 
> (JDBCResultIterator.java:151)
> 	at org.objectstyle.cayenne.access.jdbc.SelectAction.performAction 
> (SelectAction.java:178)
> 	at org.objectstyle.cayenne.access.DataNodeQueryAction.runQuery 
> (DataNodeQueryAction.java:95)
> 	at org.objectstyle.cayenne.access.DataNode.performQueries 
> (DataNode.java:309)
> 	at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery 
> (DataDomainQueryAction.java:355)
> 	at org.objectstyle.cayenne.access.DataDomainQueryAction.access$000 
> (DataDomainQueryAction.java:96)
> 	at org.objectstyle.cayenne.access.DataDomainQueryAction$1.transform 
> (DataDomainQueryAction.java:327)
> 	at org.objectstyle.cayenne.access.DataDomain.runInTransaction 
> (DataDomain.java:856)
> 	at  
> org.objectstyle.cayenne.access.DataDomainQueryAction.runQueryInTransac 
> tion(DataDomainQueryAction.java:324)
> 	at org.objectstyle.cayenne.access.DataDomainQueryAction.execute 
> (DataDomainQueryAction.java:145)
> 	at org.objectstyle.cayenne.access.DataDomain.onQuery 
> (DataDomain.java:766)
> 	at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery 
> (ObjectContextQueryAction.java:253)
> 	at org.objectstyle.cayenne.access.DataContextQueryAction.execute 
> (DataContextQueryAction.java:90)
> 	at org.objectstyle.cayenne.access.DataContext.onQuery 
> (DataContext.java:1422)
> 	at org.objectstyle.cayenne.access.DataContext.performQuery 
> (DataContext.java:1411)
>
> -----Ursprüngliche Nachricht-----
> Von: Andrus Adamchik [mailto:andrus@objectstyle.org]
> Gesendet: Donnerstag, 7. Dezember 2006 09:50
> An: cayenne-user@incubator.apache.org
> Betreff: Re: mysql date
>
>
> On Dec 5, 2006, at 12:36 PM, Peter Schröder wrote:
>
>> hi there,
>>
>> first of all the bug-tracking link on page http://
>> incubator.apache.org/cayenne/how-can-i-help.html is broken :-( but
>> i found it through google.
>
> Thanks for pointing it out. I fixed it on the site - it will be
> published within an hour.
>
>> we have a lot of old data stored in our mysql-database. there are
>> lots of date-fields with date of '0000-00-00 00:00:00' (which
>> should in deed be 'null') which cause cayenne to fail on fetching
>> data-objects, cause it cant convert the date: Value '0000-00-00'
>> can not be represented as java.sql.Timestamp.
>> do i have to update all these fields to null, so that cayenne can
>> work properly?
>
> What is the exception? I would assume this is thrown at the driver
> level, not Cayenne, but if you can provide more details, maybe there
> is a way for us to create a workaround.
>
> Andrus
>
>
>


Mime
View raw message