sql2o - sql2o 是否适用于最新的 MySQL 版本?
问题描述
我多年来一直使用 sql2o 作为 ORM。它重量轻,速度非常快。
最近 MySQL DATETIME 到 sql.Timestamp 的映射已停止为最新的 MySQL 排序 UTF-8 工作。每个依赖项都是 POM 中最新的。错误信息是:
“org.sql2o.Sql2oException:尝试将列 dt_created 转换为类型类 java.sql.Timestamp 时出错”
从字面上看,将字段映射到 DATETIME 的 Java 类已有多年历史,并且已经使用了数十次而没有失败。
我已经将此映射与 Java 1.8 和 Java 11 一起使用,在许多产品中都没有出现问题。有没有人看到 sql2o 的一个怪癖导致它突然停止使用时间戳?突然被“窒息”的数据如下。我应该注意到,这些数据是用 sql2o 在不同的产品中编写的。数据是:
2021-04-03 20:46:59
为 Java 11 编译。相关的 POM 依赖项:
<dependency>
<groupId>org.sql2o</groupId>
<artifactId>sql2o</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
更新:我找到了错误所在的地方,但是在哪里提交错误报告非常混乱。
问题是 Spring Boot 默认使用连接器 8.0.26。事实证明,问题不在于为访问数据库而构建的 JAR(并且位于我们公司的 Artifact 服务器中)。问题是使用连接器 8.0.26 的 Spring boot 调用被破坏。当我覆盖 Spring Boot MVN 并直接使用 8.0.16 时,一切都会再次运行。
使用 sql2o 提交错误报告,但不清楚这是错误实际出现的地方。
解决方案
推荐阅读
- python-3.x - 如何从目录中读取视频文件以在程序中使用文件名
- angular - 角度为 4 的可扩展表格行,带有用于动态数据的角度材料(非恒定数据)
- python - django-channels:找不到路径的路径
- python - 使用接受两个参数的 lambda 函数映射
- javascript - 如何从标签具有相同 id 的表单中检索值
- html - 使用没有任何关联表单元素的标签是否可以接受?
- android - 根据某些条件在约束布局中隐藏或添加按钮
- python - Python在轴上将一年中的日期转换为月份
- php - 如何为 Laravel 中的每个用户请求生成新的 CSRF Token?
- typescript - 找不到相对于目录的预设“模块:metro-react-native-babel-preset”