在利用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));
数据插入成功 查询时也未继续报错。
java 实体中Date时间字段插入mysql的datetime字段是0000-00-00 00:00:00 查询时报错 0000-00-00 00:00:00
博客讲述在使用Hibernate框架时,mysql数据库datetime字段与Java实体Date类型映射,插入数据时数据库显示0000-00-00 00:00:00,查询报错。尝试在数据库连接url增加参数未成功,最终将实体类型变为sql.timestamp类型并按特定方式设置插入数据,解决问题。


被折叠的 条评论
为什么被折叠?



