java 实体中Date时间字段插入mysql的datetime字段是0000-00-00 00:00:00 查询时报错 0000-00-00 00:00:00

在利用Hibernate框架时,mysql数据库字段类型是datetime,java实体对应的是Date类型。 在进行数据插入的时候,原先是直接插入new Date() 插入过程未报错。但在数据库中显示的时间是0000-00-00 00:00:00 导致在查询的时候报错。
经过网上查阅资料,说是实体与数据库字段映射不正确。
按照普遍的修改方式在数据库连接url增加参数zeroDateTimeBehavior=convertToNull未成功。本身数据库改字段设置的默认值为null.
最后终于查到一种修改方式将实体中的类型变为 sql.timestamp类型 在设置插入数据时变为如下:
String time = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).format(new Date());
orders.setOrdertime(Timestamp.valueOf(nowTime));
数据插入成功 查询时也未继续报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值