使用MSSQL数据库类型别名,jooq 3.7.3将其转换为正确的Java类型,但是3.12.3将它们全部转换为Java类型Object

问题描述 投票:1回答:1

例如,我具有如下定义的数据库类型别名:

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
1个回答
0
投票

jOOQ中的错误

© www.soinside.com 2019 - 2024. All rights reserved.