【发布时间】:2023-03-13 02:21:01
【问题描述】:
例如,我有一个数据库类型别名定义如下:
create type aml_acct from varchar(50) not null
然后在创建表的 SQL 中,我会有这样的列定义:
create table ACCOUNTS (
.
acct aml_acct,
.
)
在 3.7.3 中,Jooq 生成的代码是这样的:
public final TableField<AmlAccountsRecord, String> ACCT =
createField("acct", org.jooq.impl.SQLDataType.VARCHAR.length(50).nullable(false), this, "");
在 3.12.3 中,Jooq 生成的代码是这样的:
/**
* @deprecated Unknown data type. Please define an explicit {@link org.jooq.Binding} to specify how this type should be handled. Deprecation can be turned off using {@literal <deprecationOnUnknownTypes/>} in your code generator configuration.
*/
@java.lang.Deprecated
public final TableField<AmlAccountsRecord, Object> ACCT = createField(DSL.name("acct"), org.jooq.impl.SQLDataType.OTHER.nullable(false), this, "");
但我不知道如何创建一个 Binding 类以使其正确处理 aml_acct 数据库类型并像以前一样生成代码。或者有没有办法通过ForcedType 处理这个问题?
任何想法或帮助将不胜感激......
【问题讨论】:
标签: java sql-server alias jooq