首页 > 解决方案 > 将所有 TINYINT 字段转换为 jooq 中的 INTEGER

问题描述

我想将 jooq 中生成的所有 TINYINT 字段转换为整数类型。这是我的代码,但它不起作用。任何有线索的人

    <forcedTypes>
      <forcedType>
        <name>INTEGER</name>
        <types>TINYINT</types>
      </forcedType>
    </forcedTypes>

这就是生成的

public final TableField<GroupsRecord, Byte> FY_TYPE = createField(DSL.name("fy_type"), org.jooq.impl.SQLDataType.TINYINT.nullable(false).defaultValue(org.jooq.impl.DSL.inline("0", org.jooq.impl.SQLDataType.TINYINT)), this, "financial year type: 0 - jan to dec, 1 - creation date plus 12 months");

标签: javaspring-bootjooq

解决方案


所以 jooq 引入了 integerDisplayWidths 属性来满足 MySQL 中的 TINYINT(1) “类型”,这些类型在历史上按照惯例对应于布尔类型。这影响了上述配置的行为。为了让它工作,你必须使这个属性为假。

    <integerDisplayWidths>false</integerDisplayWidths>

推荐阅读