Can not set java.util.Date field *** to java.time.LocalDateTime解决办法
Can not set java.util.Date field *** to java.time.LocalDateTime解决办法
·
问题描述
在学习JavaWeb过程中,前端访问数据库表中datetime类型数据时,出现异常Can not set java.util.Date field *** to java.time.LocalDateTime,无法将LocalDateTime类型数据赋值给Date类型变量
原因分析:
应该属于mysql8.0驱动的bug,具体原因未知
正常情况下从表中查出datetime类型如下
出现bug时类型为LocalDateTime,值为2017-07-15T00:16:40.0,与pojo属性类型不匹配
解决方案:
方案一:在属性赋值前进行类型检查,手动将LocalDateTime转换为Date类型
if (propertyValue.getClass().toString().equals("class java.time.LocalDateTime")) {
propertyValue = Timestamp.valueOf((LocalDateTime) propertyValue);
}
方案二:更换mysql版本
更多推荐
所有评论(0)