如何使用 jOOQ 通过 SQLite 正确生成日期和时间类型

Posted

技术标签:

【中文标题】如何使用 jOOQ 通过 SQLite 正确生成日期和时间类型【英文标题】:How to use jOOQ to correctly generate date and time types with SQLite 【发布时间】:2020-01-30 07:05:54 【问题描述】:

根据 SQLite 文档,可以将日期和时间存储在具有 TEXT、REAL 或 INTEGER 亲和力的列中。 为了清楚起见,我会选择 TEXT。

我希望 jOOQ 能够生成字符串字段。 如何让 jOOQ 正确生成 JSR-310 java.time(LocalDateLocalTimeLocalDateTime)类型?

【问题讨论】:

【参考方案1】:

你可以告诉 jOOQ 的代码生成器重写你的数据类型: https://www.jooq.org/doc/latest/manual/code-generation/data-type-rewrites

使用来自SQLDataType 的类型名称,例如:

<forcedTypes>
  <forcedType>
    <name>LOCALDATE</name>
    <includeExpression>DATE_COLUMN</includeExpression>
  </forcedType>
</forcedTypes>

【讨论】:

以上是关于如何使用 jOOQ 通过 SQLite 正确生成日期和时间类型的主要内容,如果未能解决你的问题,请参考以下文章

如何修复:Jooq 代码不会从 sql 脚本为内存 db 中的 sqlite 生成 java 代码

使用 JOOQ 更新 SQLITE 中的表行失败

使用JOOQ无法在SQLITE中更新表行

使用jooq上下文将内存sqlite转储到字节[]

如何正确处理与 jooq 的连接?

如何在 jOOQ 中使用 formatJSON(JSONFormat) 正确格式化生成的 JSON 类型的常规结果?