可用版本:Dev (3.21) | 最新 (3.20)

合成默认值

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

如果数据库报告列具有默认表达式,jOOQ 的代码生成器可以识别这些表达式。某些数据库不支持“真正的”默认列,或者不将列默认值从底层表传播到视图。如果列是已知的“默认”列,但形式上不是,则用户可以指定匹配所有表和列的正则表达式,并为这些表和列提供默认表达式。例如

XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration>
  <generator>
    <database>
      <syntheticObjects>
        <defaults>
          <default>

            <!-- Optional regular expression matching all tables that have this identity. -->
            <tables>SCHEMA\.TABLE</tables>

            <!-- List all columns that are identities -->
            <fields>CREATION_DATE</fields>

            <!-- A valid SQL expression to apply as a default (e.g. 'string value', not string value) -->
            <expression>CURRENT_TIMESTAMP</expression>
          </default>
        </defaults>
      </syntheticObjects>
    </database>
  </generator>
</configuration>

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

new org.jooq.meta.jaxb.Configuration()
  .withGenerator(new Generator()
    .withDatabase(new Database()
      .withSyntheticObjects(new SyntheticObjectsType()
        .withDefaults(
          new SyntheticDefaultType()

            // Optional regular expression matching all tables that have this identity.
            .withTables("SCHEMA\\.TABLE")

            // List all columns that are identities
            .withFields("CREATION_DATE")

            // A valid SQL expression to apply as a default (e.g. 'string value', not string value)
            .withExpression("CURRENT_TIMESTAMP")
        )
      )
    )
  )

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

import org.jooq.meta.jaxb.*


configuration {
  generator {
    database {
      syntheticObjects {
        defaults {
          default_ {

            // Optional regular expression matching all tables that have this identity.
            tables = "SCHEMA\\.TABLE"

            // List all columns that are identities
            fields = "CREATION_DATE"

            // A valid SQL expression to apply as a default (e.g. 'string value', not string value)
            expression = "CURRENT_TIMESTAMP"
          }
        }
      }
    }
  }
}

有关更多详细信息,请参阅 配置 XSDgradle 代码生成

configuration {
  generator {
    database {
      syntheticObjects {
        defaults {
          default_ {

            // Optional regular expression matching all tables that have this identity.
            tables = "SCHEMA\\.TABLE"

            // List all columns that are identities
            fields = "CREATION_DATE"

            // A valid SQL expression to apply as a default (e.g. 'string value', not string value)
            expression = "CURRENT_TIMESTAMP"
          }
        }
      }
    }
  }
}

有关更多详细信息,请参阅 配置 XSDgradle 代码生成

// 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