可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

零刻度十进制类型

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

零刻度十进制数,例如 DECIMAL(10)NUMBER(10, 0),实际上是一种具有十进制精度而不是二进制/位精度整数类型。某些数据库(例如 Oracle)根本不支持实际的整数类型,仅支持十进制类型。从历史上看,jOOQ 生成最合适的整数包装类型,而不是 BigDecimalBigInteger

如果这不是所需的默认设置,则可以使用 强制类型在每个列的基础上显式停用,也可以使用以下标志全局停用

XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration>
  <generator>
    <database>
      <forceIntegerTypesOnZeroScaleDecimals>true</forceIntegerTypesOnZeroScaleDecimals>
    </database>
  </generator>
</configuration>

有关更多详细信息,请参见配置 XSD独立代码生成 Maven 代码生成

new org.jooq.meta.jaxb.Configuration()
  .withGenerator(new Generator()
    .withDatabase(new Database()
      .withForceIntegerTypesOnZeroScaleDecimals(true)
    )
  )

有关更多详细信息,请参见配置 XSD程序化代码生成

import org.jooq.meta.jaxb.*


configuration {
  generator {
    database {
      isForceIntegerTypesOnZeroScaleDecimals = true
    }
  }
}

有关更多详细信息,请参见配置 XSD Gradle 代码生成

configuration {
  generator {
    database {
      forceIntegerTypesOnZeroScaleDecimals = true
    }
  }
}

有关更多详细信息,请参见配置 XSD Gradle 代码生成

// The jOOQ-codegen-gradle plugin has been introduced in version 3.19.
// Please use the official plugin instead of the third party plugin that was recommended before.

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo