我有:
.withStrategy(Strategy().apply {
name = "rcp.RenamingStrategy"
matchers = Matchers().withTables(MatchersTableType().apply {
tableImplements = "rcp.framework.db.EntityTable"
pojoImplements = "rcp.framework.db.Entity"
recordImplements = "rcp.framework.db.Record"
interfaceImplements = "rcp.framework.db.DbInterface"
})
})
这行不通;仅适用指定策略或匹配器之一(两者均未注释,匹配器优先)。将它们分开的两个 .withStrategy 子句也不起作用。
我确实在 DefaultGeneratorStrategy 中找到了
getJavaClassImplements(definition: Definition?, mode: Mode?): MutableList<String>
,但模式似乎不完整 - 没有“表”模式。表以 DEFAULT 传递,但枚举和各种其他杂项对象也是如此。
有没有办法用单一策略来完成我想要做的事情?目标是为基本的通用功能创建一个 dao 实现,其中包括 jooq 的 dao 生成所没有的业务逻辑,为此我需要围绕我控制的各种类型的对象的接口。
目前,您无法结合使用这两种类型的策略。很难看出这样的组合应该如何工作,因为
GeneratorStrategy
是一个具有强制实现(通常来自默认实现)并且没有任何优先级的接口。
但模式似乎不完整——没有“桌子”模式。表以 DEFAULT 传递,但枚举和各种其他杂项对象也是如此。
Mode
只是告诉您某个 Definition
类型的生成处于什么“模式”。例如。对于TableDefinition
,有:
DEFAULT
:Table
对象RECORD
:TableRecord
对象DAO
:The
DAO`对象因此,您必须实施
definition is TableDefinition
检查以仅将策略应用于表。