gpt4 book ai didi

java - 无法将 '0000-00-00 00:00:00' 转换为 TIMESTAMP

转载 作者:IT老高 更新时间:2023-10-28 21:10:01 25 4
gpt4 key购买 nike

字段定义

 /** Date. */
@Column(columnDefinition = "datetime")
private Date date;

二传手

public void setDate(final Date date) {
DateFormat dfmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
this.date = dfmt.parse(dfmt.format(date));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

有人知道如何将“零日期”转换为正确的值吗?因为我有错误:

Cannot convert value '0000-00-00 00:00:00' from column 13 to TIMESTAMP

即使我像这样设置“默认”字段和 setter :

/** Date. */
@Column
private Date date;


public void setDate(final Date date) {
this.date = date;
}

我还是会遇到同样的问题......

最佳答案

我将在这里大胆猜测您正在使用 MySQL :-) 它使用“零日期”作为 special placeholder - 不幸的是,JDBC 默认无法处理它们。

解决方案是将“zeroDateTimeBehavior=convertToNull”指定为 MySQL 连接的参数(在数据源 URL 中或作为附加属性),例如:

jdbc:mysql://localhost/myDatabase?zeroDateTimeBehavior=convertToNull

这将导致所有这些值都被检索为 NULL。

关于java - 无法将 '0000-00-00 00:00:00' 转换为 TIMESTAMP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1363527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com