匹配外键
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
以下示例展示了如何为生成的 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 XSD 和 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" // 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 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.
一如既往,当使用正则表达式时,它们是具有默认标志的正则表达式。
有关 MatcherRule
规范的更多信息,请参见MatcherRule。
反馈
您对此页面有任何反馈吗?我们很乐意听取您的意见!