gpt4 book ai didi

java - JOOQ MySQL DATETIME 类型

转载 作者:行者123 更新时间:2023-11-29 07:19:15 27 4
gpt4 key购买 nike

我正在尝试使用 JOOQ 生成这个简单的 SQL,但由于某种原因我无法完成它。我想为 MySQL 数据库生成以下代码。

CREATE TABLE T (
F DATETIME
);

我希望它是这样的

dsl.createTable(name("T"))
.column("F", MySQLDataType.DATETIME);

不幸的是,MySQLDataType 已被弃用。 JOOQ 明确表示只使用 SQLDataType 中声明的类型,但由于某种原因我找不到任何类型。

我已经尝试过使用 DATELOCALDATELOCALDATETIME 但它们都会生成一个 TIMESTAMP 字段.


我正在使用 JOOQ 同时为 MySQL 和 Oracle DBMS 生成 DDL。 Oracle 类型生成得很好(我得到 DATE 并且没问题)但 MySQL 只给我 TIMESTAMPs。

有什么提示吗?

最佳答案

方言特定数据类型已弃用 #7375在 jOOQ 3.11 中,不幸的是还没有替换功能。替换将不早于 jOOQ 3.13(可能更晚)通过 #5713 实现。 ,一个更强大的动态数据类型注册表——与当前完全依赖于内部 API 和静态初始化的静态注册表相反。

目前,您可以继续在您的案例中使用 MySQLDataType.DATETIME,或者为其创建您自己的 DefaultDataType 实例。这两种方法同样不安全,一种被弃用,另一种依赖于内部 API。

不过,出于向后兼容的原因,在相当长的一段时间内不会删除不推荐使用的类型。

关于java - JOOQ MySQL DATETIME 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57178697/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com