草庐IT

zeroDateTimeBehavior

全部标签

java - Mysql 日期/日期时间列和 Java 持久性

我有一个带有DATE列的Mysql表,默认为“0000-00-00”。例如,如果我试着打电话,em.find(MyTable.class,pk_value);并且它恰好是数据库中默认日期值为“0000-00-00”的记录,抛出异常(“java.sql.SQLException:值...不能表示为java.sql.Date”。对于默认为“0000-00-0000:00:00”的DateTime列,也会发生同样的错误。有什么办法可以告诉EntityManager这样的值是可以的吗?谢谢。 最佳答案 有帮助的是将JDBC驱动程序的zero

java - JDBC 将 Timestamp 转换为 NULL(zeroDateTimeBehavior 问题)

我正在使用Pentaho数据集成(表输入步骤)从MySQL服务器中提取数据。几个字段的类型为“Timestamp”,Pentaho不断喷出错误,因为时间戳为NULL(0000-00-0000:00:00.000000)。我在参数中添加了一个zeroDateTimeBehavior=convertToNull来处理错误的时间戳,但它将所有我的时间戳数据转换为NULL。我认为它可能发生的一个原因是因为我的一些“好”数据表示为,例如,2013-03-1404:55:09.000000。虽然大多数日期是“好数据”,但小数秒(.000000)可能被zeroDateTimeBehavior参数解释