Hello Dennis, The question here is why you're getting a long when you're really expecting a timestamp:
> Caused by: org.jooq.exception.DataTypeException: Cannot convert from > 1365797792886 (class java.lang.Long) to class java.util.GregorianCalendar I will have to investigate this a little further, as jOOQ allows for converting Long -> Timestamp automatically, if required (as a pre-requisite for a subsequent conversion from Timestamp -> GregorianCalendar). So I'm guessing that your custom converter is not registered at the time it is needed by the Record.into() call. Currently, converters are initialised and registered in jOOQ when they are referenced for the first time by a generated table's data type. This is not very reliable, of course. I will eventually have to find a better solution. To check whether I'm on the right track: Can you confirm that the generated Upload table hasn't been loaded by the class loader yet, at the time the trigger is fired? Cheers Lukas 2013/4/12 Dennis Fischer <[email protected]>: > Hey, > > I'm using a Timestamp to GregorianCalendar converter (it should be pretty > much the same posted in the manual): > When updating or inserting records - following exception occurs: > >> java.util.concurrent.ExecutionException: >> org.jooq.exception.DataAccessException: SQL [update "PUBLIC"."UPLOAD" set >> "PUBLIC"."UPLOAD"."ARCHIVED" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."CATEGORY" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."COMMENT" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."COMMENTVOTE" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."DESCRIPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."EMBED" = cast(? as boolean), "PUBLIC"."UPLOAD"."FAILED" = >> cast(? as boolean), "PUBLIC"."UPLOAD"."FILE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."VISIBILITY" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."KEYWORDS" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MIMETYPE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MOBILE" = cast(? as boolean), "PUBLIC"."UPLOAD"."RATE" = >> cast(? as boolean), "PUBLIC"."UPLOAD"."TITLE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."UPLOADURL" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."VIDEORESPONSE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."DATE_OF_START" = cast(? as timestamp), >> "PUBLIC"."UPLOAD"."INPROGRESS" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."LOCKED" = cast(? as boolean), "PUBLIC"."UPLOAD"."VIDEOID" >> = cast(? as varchar), "PUBLIC"."UPLOAD"."ACCOUNT_ID" = cast(? as int), >> "PUBLIC"."UPLOAD"."ENDDIR" = cast(? as varchar), "PUBLIC"."UPLOAD"."LICENSE" >> = cast(? as varchar), "PUBLIC"."UPLOAD"."DATE_OF_RELEASE" = cast(? as >> timestamp), "PUBLIC"."UPLOAD"."NUMBER" = cast(? as smallint), >> "PUBLIC"."UPLOAD"."PAUSEONFINISH" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."THUMBNAIL" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."FACEBOOK" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."TWITTER" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MESSAGE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_INSTREAM_DEFAULTS" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIM" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_OVERLAY" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_TRUEVIEW" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_INSTREAM" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_PRODUCT" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_SYNDICATION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TITLE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_DESCRIPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ID" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_NOTES" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TMSID" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ISAN" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_EIDR" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TITLEEPISODE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_SEASON_NB" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_EPISODE_NB" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIMTYPE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIMOPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ASSET" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_PARTNER" = cast(? as boolean) where >> "PUBLIC"."UPLOAD"."ID" = cast(? as int)]; Allgemeiner Fehler: >> "org.jooq.exception.MappingException: An error ocurred when mapping record >> to class org.chaosfisch.youtubeuploader.db.generated.tables.pojos.Upload" >> General error: "org.jooq.exception.MappingException: An error ocurred when >> mapping record to class >> org.chaosfisch.youtubeuploader.db.generated.tables.pojos.Upload"; SQL >> statement: >> update "PUBLIC"."UPLOAD" set "PUBLIC"."UPLOAD"."ARCHIVED" = cast(? as >> boolean), "PUBLIC"."UPLOAD"."CATEGORY" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."COMMENT" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."COMMENTVOTE" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."DESCRIPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."EMBED" = cast(? as boolean), "PUBLIC"."UPLOAD"."FAILED" = >> cast(? as boolean), "PUBLIC"."UPLOAD"."FILE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."VISIBILITY" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."KEYWORDS" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MIMETYPE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MOBILE" = cast(? as boolean), "PUBLIC"."UPLOAD"."RATE" = >> cast(? as boolean), "PUBLIC"."UPLOAD"."TITLE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."UPLOADURL" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."VIDEORESPONSE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."DATE_OF_START" = cast(? as timestamp), >> "PUBLIC"."UPLOAD"."INPROGRESS" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."LOCKED" = cast(? as boolean), "PUBLIC"."UPLOAD"."VIDEOID" >> = cast(? as varchar), "PUBLIC"."UPLOAD"."ACCOUNT_ID" = cast(? as int), >> "PUBLIC"."UPLOAD"."ENDDIR" = cast(? as varchar), "PUBLIC"."UPLOAD"."LICENSE" >> = cast(? as varchar), "PUBLIC"."UPLOAD"."DATE_OF_RELEASE" = cast(? as >> timestamp), "PUBLIC"."UPLOAD"."NUMBER" = cast(? as smallint), >> "PUBLIC"."UPLOAD"."PAUSEONFINISH" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."THUMBNAIL" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."FACEBOOK" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."TWITTER" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MESSAGE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_INSTREAM_DEFAULTS" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIM" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_OVERLAY" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_TRUEVIEW" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_INSTREAM" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_PRODUCT" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_SYNDICATION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TITLE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_DESCRIPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ID" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_NOTES" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TMSID" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ISAN" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_EIDR" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TITLEEPISODE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_SEASON_NB" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_EPISODE_NB" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIMTYPE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIMOPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ASSET" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_PARTNER" = cast(? as boolean) where >> "PUBLIC"."UPLOAD"."ID" = cast(? as int) [50000-170] >> at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) >> [na:1.7.0_13] >> at java.util.concurrent.FutureTask.get(FutureTask.java:111) >> [na:1.7.0_13] >> at >> org.chaosfisch.youtubeuploader.services.uploader.UploadWorker.done(UploadWorker.java:211) >> ~[main/:na] >> at >> java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:302) >> [na:1.7.0_13] >> at java.util.concurrent.FutureTask.setException(FutureTask.java:153) >> [na:1.7.0_13] >> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:336) >> [na:1.7.0_13] >> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >> [na:1.7.0_13] >> at >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >> [na:1.7.0_13] >> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >> [na:1.7.0_13] >> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >> [na:1.7.0_13] >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> [na:1.7.0_13] >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> [na:1.7.0_13] >> at java.lang.Thread.run(Thread.java:722) [na:1.7.0_13] >> Caused by: org.jooq.exception.DataAccessException: SQL [update >> "PUBLIC"."UPLOAD" set "PUBLIC"."UPLOAD"."ARCHIVED" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."CATEGORY" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."COMMENT" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."COMMENTVOTE" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."DESCRIPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."EMBED" = cast(? as boolean), "PUBLIC"."UPLOAD"."FAILED" = >> cast(? as boolean), "PUBLIC"."UPLOAD"."FILE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."VISIBILITY" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."KEYWORDS" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MIMETYPE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MOBILE" = cast(? as boolean), "PUBLIC"."UPLOAD"."RATE" = >> cast(? as boolean), "PUBLIC"."UPLOAD"."TITLE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."UPLOADURL" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."VIDEORESPONSE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."DATE_OF_START" = cast(? as timestamp), >> "PUBLIC"."UPLOAD"."INPROGRESS" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."LOCKED" = cast(? as boolean), "PUBLIC"."UPLOAD"."VIDEOID" >> = cast(? as varchar), "PUBLIC"."UPLOAD"."ACCOUNT_ID" = cast(? as int), >> "PUBLIC"."UPLOAD"."ENDDIR" = cast(? as varchar), "PUBLIC"."UPLOAD"."LICENSE" >> = cast(? as varchar), "PUBLIC"."UPLOAD"."DATE_OF_RELEASE" = cast(? as >> timestamp), "PUBLIC"."UPLOAD"."NUMBER" = cast(? as smallint), >> "PUBLIC"."UPLOAD"."PAUSEONFINISH" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."THUMBNAIL" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."FACEBOOK" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."TWITTER" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MESSAGE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_INSTREAM_DEFAULTS" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIM" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_OVERLAY" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_TRUEVIEW" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_INSTREAM" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_PRODUCT" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_SYNDICATION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TITLE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_DESCRIPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ID" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_NOTES" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TMSID" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ISAN" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_EIDR" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TITLEEPISODE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_SEASON_NB" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_EPISODE_NB" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIMTYPE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIMOPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ASSET" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_PARTNER" = cast(? as boolean) where >> "PUBLIC"."UPLOAD"."ID" = cast(? as int)]; Allgemeiner Fehler: >> "org.jooq.exception.MappingException: An error ocurred when mapping record >> to class org.chaosfisch.youtubeuploader.db.generated.tables.pojos.Upload" >> General error: "org.jooq.exception.MappingException: An error ocurred when >> mapping record to class >> org.chaosfisch.youtubeuploader.db.generated.tables.pojos.Upload"; SQL >> statement: >> update "PUBLIC"."UPLOAD" set "PUBLIC"."UPLOAD"."ARCHIVED" = cast(? as >> boolean), "PUBLIC"."UPLOAD"."CATEGORY" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."COMMENT" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."COMMENTVOTE" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."DESCRIPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."EMBED" = cast(? as boolean), "PUBLIC"."UPLOAD"."FAILED" = >> cast(? as boolean), "PUBLIC"."UPLOAD"."FILE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."VISIBILITY" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."KEYWORDS" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MIMETYPE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MOBILE" = cast(? as boolean), "PUBLIC"."UPLOAD"."RATE" = >> cast(? as boolean), "PUBLIC"."UPLOAD"."TITLE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."UPLOADURL" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."VIDEORESPONSE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."DATE_OF_START" = cast(? as timestamp), >> "PUBLIC"."UPLOAD"."INPROGRESS" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."LOCKED" = cast(? as boolean), "PUBLIC"."UPLOAD"."VIDEOID" >> = cast(? as varchar), "PUBLIC"."UPLOAD"."ACCOUNT_ID" = cast(? as int), >> "PUBLIC"."UPLOAD"."ENDDIR" = cast(? as varchar), "PUBLIC"."UPLOAD"."LICENSE" >> = cast(? as varchar), "PUBLIC"."UPLOAD"."DATE_OF_RELEASE" = cast(? as >> timestamp), "PUBLIC"."UPLOAD"."NUMBER" = cast(? as smallint), >> "PUBLIC"."UPLOAD"."PAUSEONFINISH" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."THUMBNAIL" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."FACEBOOK" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."TWITTER" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MESSAGE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_INSTREAM_DEFAULTS" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIM" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_OVERLAY" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_TRUEVIEW" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_INSTREAM" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_PRODUCT" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_SYNDICATION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TITLE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_DESCRIPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ID" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_NOTES" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TMSID" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ISAN" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_EIDR" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TITLEEPISODE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_SEASON_NB" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_EPISODE_NB" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIMTYPE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIMOPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ASSET" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_PARTNER" = cast(? as boolean) where >> "PUBLIC"."UPLOAD"."ID" = cast(? as int) [50000-170] >> at org.jooq.impl.Utils.translate(Utils.java:1004) >> ~[jooq-3.0.0-RC2.jar:na] >> at >> org.jooq.impl.DefaultExecuteContext.sqlException(DefaultExecuteContext.java:435) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:288) >> ~[jooq-3.0.0-RC2.jar:na] >> at >> org.jooq.impl.UpdatableRecordImpl.storeUpdate(UpdatableRecordImpl.java:229) >> ~[jooq-3.0.0-RC2.jar:na] >> at >> org.jooq.impl.UpdatableRecordImpl.update(UpdatableRecordImpl.java:156) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.impl.DAOImpl.update(DAOImpl.java:136) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.impl.DAOImpl.update(DAOImpl.java:118) >> ~[jooq-3.0.0-RC2.jar:na] >> at >> org.chaosfisch.youtubeuploader.services.uploader.UploadWorker.initialize(UploadWorker.java:286) >> ~[main/:na] >> at >> org.chaosfisch.youtubeuploader.services.uploader.UploadWorker.call(UploadWorker.java:136) >> ~[main/:na] >> at >> org.chaosfisch.youtubeuploader.services.uploader.UploadWorker.call(UploadWorker.java:64) >> ~[main/:na] >> at javafx.concurrent.Task$TaskCallable.call(Task.java:1259) >> ~[jfxrt.jar:na] >> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >> [na:1.7.0_13] >> ... 7 common frames omitted >> Caused by: org.h2.jdbc.JdbcSQLException: Allgemeiner Fehler: >> "org.jooq.exception.MappingException: An error ocurred when mapping record >> to class org.chaosfisch.youtubeuploader.db.generated.tables.pojos.Upload" >> General error: "org.jooq.exception.MappingException: An error ocurred when >> mapping record to class >> org.chaosfisch.youtubeuploader.db.generated.tables.pojos.Upload"; SQL >> statement: >> update "PUBLIC"."UPLOAD" set "PUBLIC"."UPLOAD"."ARCHIVED" = cast(? as >> boolean), "PUBLIC"."UPLOAD"."CATEGORY" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."COMMENT" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."COMMENTVOTE" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."DESCRIPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."EMBED" = cast(? as boolean), "PUBLIC"."UPLOAD"."FAILED" = >> cast(? as boolean), "PUBLIC"."UPLOAD"."FILE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."VISIBILITY" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."KEYWORDS" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MIMETYPE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MOBILE" = cast(? as boolean), "PUBLIC"."UPLOAD"."RATE" = >> cast(? as boolean), "PUBLIC"."UPLOAD"."TITLE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."UPLOADURL" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."VIDEORESPONSE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."DATE_OF_START" = cast(? as timestamp), >> "PUBLIC"."UPLOAD"."INPROGRESS" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."LOCKED" = cast(? as boolean), "PUBLIC"."UPLOAD"."VIDEOID" >> = cast(? as varchar), "PUBLIC"."UPLOAD"."ACCOUNT_ID" = cast(? as int), >> "PUBLIC"."UPLOAD"."ENDDIR" = cast(? as varchar), "PUBLIC"."UPLOAD"."LICENSE" >> = cast(? as varchar), "PUBLIC"."UPLOAD"."DATE_OF_RELEASE" = cast(? as >> timestamp), "PUBLIC"."UPLOAD"."NUMBER" = cast(? as smallint), >> "PUBLIC"."UPLOAD"."PAUSEONFINISH" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."THUMBNAIL" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."FACEBOOK" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."TWITTER" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MESSAGE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_INSTREAM_DEFAULTS" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIM" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_OVERLAY" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_TRUEVIEW" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_INSTREAM" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_PRODUCT" = cast(? as boolean), >> "PUBLIC"."UPLOAD"."MONETIZE_SYNDICATION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TITLE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_DESCRIPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ID" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_NOTES" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TMSID" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ISAN" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_EIDR" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_TITLEEPISODE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_SEASON_NB" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_EPISODE_NB" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIMTYPE" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_CLAIMOPTION" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_ASSET" = cast(? as varchar), >> "PUBLIC"."UPLOAD"."MONETIZE_PARTNER" = cast(? as boolean) where >> "PUBLIC"."UPLOAD"."ID" = cast(? as int) [50000-170] >> at >> org.h2.message.DbException.getJdbcSQLException(DbException.java:329) >> ~[h2-1.3.170.jar:1.3.170] >> at org.h2.message.DbException.get(DbException.java:158) >> ~[h2-1.3.170.jar:1.3.170] >> at org.h2.message.DbException.convert(DbException.java:281) >> ~[h2-1.3.170.jar:1.3.170] >> at org.h2.schema.TriggerObject.fireRow(TriggerObject.java:215) >> ~[h2-1.3.170.jar:1.3.170] >> at org.h2.table.Table.fireRow(Table.java:894) >> ~[h2-1.3.170.jar:1.3.170] >> at org.h2.table.Table.fireAfterRow(Table.java:885) >> ~[h2-1.3.170.jar:1.3.170] >> at org.h2.command.dml.Update.update(Update.java:149) >> ~[h2-1.3.170.jar:1.3.170] >> at org.h2.command.CommandContainer.update(CommandContainer.java:75) >> ~[h2-1.3.170.jar:1.3.170] >> at org.h2.command.Command.executeUpdate(Command.java:230) >> ~[h2-1.3.170.jar:1.3.170] >> at >> org.h2.jdbc.JdbcPreparedStatement.execute(JdbcPreparedStatement.java:194) >> ~[h2-1.3.170.jar:1.3.170] >> at >> org.jooq.tools.jdbc.DefaultPreparedStatement.execute(DefaultPreparedStatement.java:189) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:338) >> ~[jooq-3.0.0-RC2.jar:na] >> at >> org.jooq.impl.AbstractStoreQuery.execute(AbstractStoreQuery.java:245) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:284) >> ~[jooq-3.0.0-RC2.jar:na] >> ... 16 common frames omitted >> Caused by: org.jooq.exception.MappingException: An error ocurred when >> mapping record to class >> org.chaosfisch.youtubeuploader.db.generated.tables.pojos.Upload >> at >> org.jooq.impl.ReflectionMapper$MutablePOJOMapper.map(ReflectionMapper.java:298) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.impl.ReflectionMapper.map(ReflectionMapper.java:168) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.impl.AbstractRecord.into(AbstractRecord.java:445) >> ~[jooq-3.0.0-RC2.jar:na] >> at >> org.chaosfisch.youtubeuploader.db.triggers.UploadTrigger.fire(UploadTrigger.java:41) >> ~[main/:na] >> at org.h2.tools.TriggerAdapter.fire(TriggerAdapter.java:140) >> ~[h2-1.3.170.jar:1.3.170] >> at org.h2.schema.TriggerObject.fireRow(TriggerObject.java:201) >> ~[h2-1.3.170.jar:1.3.170] >> ... 26 common frames omitted >> Caused by: org.jooq.exception.DataTypeException: Cannot convert from >> 1365797792886 (class java.lang.Long) to class java.util.GregorianCalendar >> at org.jooq.tools.Convert$ConvertAll.fail(Convert.java:801) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.tools.Convert$ConvertAll.toDate(Convert.java:781) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.tools.Convert$ConvertAll.from(Convert.java:677) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.tools.Convert.convert0(Convert.java:291) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.tools.Convert.convert(Convert.java:283) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.tools.Convert.convert(Convert.java:344) >> ~[jooq-3.0.0-RC2.jar:na] >> at org.jooq.impl.AbstractRecord.getValue(AbstractRecord.java:197) >> ~[jooq-3.0.0-RC2.jar:na] >> at >> org.jooq.impl.ReflectionMapper$MutablePOJOMapper.map(ReflectionMapper.java:291) >> ~[jooq-3.0.0-RC2.jar:na] >> ... 31 common frames omitted > > > I'm not sure - but it seems like jooq is doing some unwanted cast there. > Just for comparison reasons - the calendar converter: > >> public class CalendarConverter implements Converter<Timestamp, >> GregorianCalendar> { >> >> private static final long serialVersionUID = >> 1335558703543045626L; >> >> @Override >> public GregorianCalendar from(final Timestamp databaseObject) { >> if (databaseObject == null) { >> return null; >> } >> final GregorianCalendar calendar = new GregorianCalendar(); >> calendar.setTimeInMillis(databaseObject.getTime()); >> return calendar; >> } >> >> @Override >> public Timestamp to(final GregorianCalendar userObject) { >> return userObject == null ? null : new >> Timestamp(userObject.getTimeInMillis()); >> } >> >> @Override >> public Class<Timestamp> fromType() { >> return Timestamp.class; >> } >> >> @Override >> public Class<GregorianCalendar> toType() { >> return GregorianCalendar.class; >> } >> } > > > If I analyze the stacktrace properly - the error occurs after firing the h2 > registered trigger. >> >> (at >> org.chaosfisch.youtubeuploader.db.triggers.UploadTrigger.fire(UploadTrigger.java:41) >> ~[main/:na]) > > > This is the code of the trigger until line 41 - I have to do it this way or > the loop won't terminate. > It seems like: final Upload record = result.fetchOne().into(Upload.class); > is causing a problem (in especially the into() call) >> >> @Override >> public void fire(final Connection conn, final ResultSet oldRow, final >> ResultSet newRow) throws SQLException { >> final Settings settings = new Settings(); >> settings.setExecuteLogging(false); >> final Executor create = new Executor(conn, >> SQLDialect.H2, >> settings); >> Integer firstId = null; >> Integer lastId = null; >> if (newRow != null) { >> final Cursor<Record> result = create.fetchLazy(newRow); >> while (result.hasNext()) { >> final Upload record = result.fetchOne() >> .into(Upload.class); > > > > Upload is a pojo generated by jooq. > Am I doing something wrong? > > I want to receive the changed row from the database and convert it to the > corresponding pojo. > Did I found a bug? > > Cheers, > Dennis > > -- > You received this message because you are subscribed to the Google Groups > "jOOQ User Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "jOOQ User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
