zoukankan      html  css  js  c++  java
  • 1525

    老项目迁移后导入Excel报错:

    javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not extract ResultSet
    
          Caused by: org.hibernate.exception.GenericJDBCException: could not extract ResultSet
    
          Caused by: java.sql.SQLException: Incorrect DATE value: '2018-11-31'
    

      一开始以为是解析问题,排查了好久,数据库也没有日期为'2018-11-31'的数据。

      还把生产环境的数据导入本地debug测试,没能复现异常。

    后来发现本地MySQL是5.7,线上是8.0.20。复制SQL到生产环境一执行果然报错了。

    原因是老代码中查询月份内的数据,月初那天拼接"01",月末那天拼接"31",然后同样的SQL在5.7是可以执行的。但是8.0增加了校验,条件不合法也会报错。

    11月只有30号,没有31号,把拼接字符串修改为获取指定日期的月份最后一天,问题解决了。

    参考https://www.cnblogs.com/will-666/p/11378783.html

    还推荐一个日期处理工具:

    Joda-Time

  • 相关阅读:
    arangodb安装
    ubuntu安装java方法
    设置代理
    自动机
    统计学习基本理论知识(一)
    条件随机场(四)
    条件随机场(三)
    hive安装
    GC root & 使用MAT分析java堆
    jinfo介绍
  • 原文地址:https://www.cnblogs.com/zou-rong/p/13973747.html
Copyright © 2011-2022 走看看