Spring Boot inserta datetime no válido en MariaDB da como resultado nulo, en campo no anulable

Tengo un problema en un proyecto de Spring Boot, donde tengo una tabla creada así:

create table task ( id int auto_increment primary key, title varchar(50) not null, content text not null, control_time datetime not null, ); 

y la entidad así:

 @Entity data class Task( @Id @GeneratedValue var id: Long = 0, @Column(length = 50) var title: String = "", @Column(columnDefinition = "TEXT", length = 65535) var content = "", @Temporal(TemporalType.TIMESTAMP) var controlTime: Date = Date()) 

También tengo un punto final que toma una Tarea como parámetro, donde Jackson lo convierte de JSON en un Objeto de Tarea, que funciona bien al examinar los loggings de debugging.

Entonces, el problema es que si doy una date que está fuera del range legal (por ejemplo, por encima del año 9999), el hibernación persiste sin error, pero el campo termina conteniendo nulo, lo que no debería ser posible cuando no es un nulo. campo. Supongo que mariadb arroja un error si persiste algo fuera del range legal, que lo hace cuando lo hago de forma manual, pero de algún modo Hibernate logra hacerlo, y termina siendo nulo.

Rastreo de hibernación:

 26543 --- [nio-8080-exec-1] ohpentity.AbstractEntityPersister : Dehydrating entity: [something.model.Task#<null>] 2017-08-15 14:28:22.220 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [1] as [TIMESTAMP] - [Tue Aug 15 14:28:22 CEST 2017] 2017-08-15 14:28:22.221 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [2] as [VARCHAR] - [NIKlas] 2017-08-15 14:28:22.221 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [3] as [TIMESTAMP] - [null] 2017-08-15 14:28:22.222 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [4] as [TIMESTAMP] - [null] 2017-08-15 14:28:22.222 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [5] as [VARCHAR] - [null] 2017-08-15 14:28:22.222 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [6] as [TIMESTAMP] - [null] 2017-08-15 14:28:22.222 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [7] as [BIGINT] - [null] 2017-08-15 14:28:22.222 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [8] as [VARCHAR] - [] 2017-08-15 14:28:22.223 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [9] as [TIMESTAMP] - [Mon Sep 10 05:06:44 CEST 12439173] 2017-08-15 14:28:22.224 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [10] as [BOOLEAN] - [null] 2017-08-15 14:28:22.224 TRACE 26543 --- [nio-8080-exec-1] ohtype.descriptor.sql.BasicBinder : binding parameter [11] as [VARCHAR] - [] 2017-08-15 14:28:22.228 DEBUG 26543 --- [nio-8080-exec-1] ohid.IdentifierGeneratorHelper : Natively generated identity: 2 2017-08-15 14:28:22.228 TRACE 26543 --- [nio-8080-exec-1] ohrjiResourceRegistryStandardImpl : Releasing result set [org.mariadb.jdbc.internal.queryresults.resultset.MariaSelectResultSet$1@1c4fe495] 2017-08-15 14:28:22.228 DEBUG 26543 --- [nio-8080-exec-1] ohrjiResourceRegistryStandardImpl : HHH000387: ResultSet's statement was not registenetworking 2017-08-15 14:28:22.228 TRACE 26543 --- [nio-8080-exec-1] ohrjiResourceRegistryStandardImpl : Closing result set [org.mariadb.jdbc.internal.queryresults.resultset.MariaSelectResultSet$1@1c4fe495] 2017-08-15 14:28:22.228 TRACE 26543 --- [nio-8080-exec-1] ohrjiResourceRegistryStandardImpl : Releasing statement [HikariProxyPrepanetworkingStatement@639958422 wrapping sql : 'insert into task (created_at, created_by, deleted_at, updated_at, updated_by, closed_at, closed_by, content, control_time, is_successful, title) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', parameters : ['2017-08-15 14:28:22.147','NIKlas',<null>,<null>,<null>,<null>,<null>,'','12439173-09-10 05:06:44.928',<null>,'']] 2017-08-15 14:28:22.229 TRACE 26543 --- [nio-8080-exec-1] ohrjiResourceRegistryStandardImpl : Closing prepanetworking statement [HikariProxyPrepanetworkingStatement@639958422 wrapping sql : 'insert into task (created_at, created_by, deleted_at, updated_at, updated_by, closed_at, closed_by, content, control_time, is_successful, title) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', parameters : ['2017-08-15 14:28:22.147','NIKlas',<null>,<null>,<null>,<null>,<null>,'','12439173-09-10 05:06:44.928',<null>,'']] 2017-08-15 14:28:22.229 TRACE 26543 --- [nio-8080-exec-1] ohejdbc.internal.JdbcCoordinatorImpl : Starting afterQuery statement execution processing [ON_CLOSE] 2017-08-15 14:28:22.231 DEBUG 26543 --- [nio-8080-exec-1] ohetinternal.TransactionImpl : committing 2017-08-15 14:28:22.231 TRACE 26543 --- [nio-8080-exec-1] cResourceLocalTransactionCoordinatorImpl : ResourceLocalTransactionCoordinatorImpl#beforeCompletionCallback 2017-08-15 14:28:22.231 TRACE 26543 --- [nio-8080-exec-1] org.hibernate.internal.SessionImpl : SessionImpl#beforeTransactionCompletion() 2017-08-15 14:28:22.232 TRACE 26543 --- [nio-8080-exec-1] org.hibernate.internal.SessionImpl : Automatically flushing session 2017-08-15 14:28:22.232 TRACE 26543 --- [nio-8080-exec-1] oheiAbstractFlushingEventListener : Flushing session 

No sé cómo resaltar las partes relevantes, pero como puede ver, inserta la date y hora "12439173-09-10 05: 06: 44.928" sin quejarse. Cuando luego miro en la database, el valor de "control_time" es nulo.

¿Alguna vez alguien se ha encontrado con este problema o sabe cómo podría pasar esto?

EDITAR: hay algunas discrepancias entre la entidad en la definición y el rastreo de hibernación, porque la definición se simplifica.