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

匹配外键

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

以下示例展示了如何为生成的 org.jooq.ForeignKey 类型和相关对象定义一个 MatcherStrategy

XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration>
  <!-- These properties can be added directly to the generator element: -->
  <generator>
    <strategy>
      <matchers>

        <!-- Specify 0..n foreign key matchers to provide a strategy for naming objects created from foreign keys. -->
        <foreignKeys>
          <foreignKey>

            <!-- Match unqualified or qualified foreign key names. If left empty, this matcher applies to all foreign keys. -->
            <expression>MY_FK_NAME</expression>

            <!-- This influences the identifier in the generated Keys class -->
            <keyIdentifier> a MatcherRule specification </keyIdentifier>

            <!-- The method name generated for to-one path joins. -->
            <pathMethodName> a MatcherRule specification </pathMethodName>

            <!-- The method name generated for to-many path joins. -->
            <pathMethodNameInverse> a MatcherRule specification </pathMethodNameInverse>

            <!-- The method name generated for many-to-many path joins. -->
            <pathMethodNameManyToMany> a MatcherRule specification </pathMethodNameManyToMany>
          </foreignKey>
        </foreignKeys>
      </matchers>
    </strategy>
  </generator>
</configuration>

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

new org.jooq.meta.jaxb.Configuration()

  // These properties can be added directly to the generator element:
  .withGenerator(new Generator()
    .withStrategy(new Strategy()
      .withMatchers(new Matchers()

        // Specify 0..n foreign key matchers to provide a strategy for naming objects created from foreign keys.
        .withForeignKeys(
          new MatchersForeignKeyType()

            // Match unqualified or qualified foreign key names. If left empty, this matcher applies to all foreign keys.
            .withExpression("MY_FK_NAME")

            // This influences the identifier in the generated Keys class
            .withKeyIdentifier(MatcherRule. a MatcherRule specification )

            // The method name generated for to-one path joins.
            .withPathMethodName(MatcherRule. a MatcherRule specification )

            // The method name generated for to-many path joins.
            .withPathMethodNameInverse(MatcherRule. a MatcherRule specification )

            // The method name generated for many-to-many path joins.
            .withPathMethodNameManyToMany(MatcherRule. a MatcherRule specification )
        )
      )
    )
  )

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

import org.jooq.meta.jaxb.*


configuration {

  // These properties can be added directly to the generator element:
  generator {
    strategy {
      matchers {

        // Specify 0..n foreign key matchers to provide a strategy for naming objects created from foreign keys.
        foreignKeys {
          foreignKey {

            // Match unqualified or qualified foreign key names. If left empty, this matcher applies to all foreign keys.
            expression = "MY_FK_NAME"

            // This influences the identifier in the generated Keys class
            keyIdentifier = MatcherRule. a MatcherRule specification 

            // The method name generated for to-one path joins.
            pathMethodName = MatcherRule. a MatcherRule specification 

            // The method name generated for to-many path joins.
            pathMethodNameInverse = MatcherRule. a MatcherRule specification 

            // The method name generated for many-to-many path joins.
            pathMethodNameManyToMany = MatcherRule. a MatcherRule specification 
          }
        }
      }
    }
  }
}

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

configuration {

  // These properties can be added directly to the generator element:
  generator {
    strategy {
      matchers {

        // Specify 0..n foreign key matchers to provide a strategy for naming objects created from foreign keys.
        foreignKeys {
          foreignKey {

            // Match unqualified or qualified foreign key names. If left empty, this matcher applies to all foreign keys.
            expression = "MY_FK_NAME"

            // This influences the identifier in the generated Keys class
            keyIdentifier = " a MatcherRule specification "

            // The method name generated for to-one path joins.
            pathMethodName = " a MatcherRule specification "

            // The method name generated for to-many path joins.
            pathMethodNameInverse = " a MatcherRule specification "

            // The method name generated for many-to-many path joins.
            pathMethodNameManyToMany = " a MatcherRule specification "
          }
        }
      }
    }
  }
}

有关更多详细信息,请参阅 configuration 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.

一如既往,当使用正则表达式时,它们是具有默认标志的正则表达式

有关 MatcherRule 规范的更多信息,请参见MatcherRule

反馈

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

The jOOQ Logo