Traballando con IDEs que empregan drivers JDBC para conectarse a MySQL e editar dende o propio IDE, atopeime co seguinte problema. As táboas con campos de tipo DateTime, que non teñen valor establecido, por defecto gárdanse co valor por defecto "0000-00-00 00:00:00". Este valor, ao ser tratado polo driver JDBC, provoca unha excepción e que nalgún caso se peche o editor.
Para solventar este problema, basta con indicarlle ao driver que trate ás datas "zeroDateTime" como se fosen valores nulos. Isto pódese establecer na cadea de conexión JDBC, por exemplo:
jdbc:mysql://localhost:3306/databaseName?zeroDateTimeBehavior=convertToNull
Este problema tamén aparece ao traballar con Hibernate. A solución pasa por indicar na configuración a seguinte propiedade no ficheiro hibernate.cfg.xml:
<property name="hibernate.connection.zeroDateTimeBehavior">convertToNull</property>