在 JAVA 中访问 Kotlin Jooq 生成的源代码

Access Kotlin Jooq generated sources in JAVA

我正在使用 Jooq 3.14.7 版本生成 Kotlin 源代码。 我的代码库同时包含 Java 和 Kotlin class,我们正在过渡到 Kotlin。

我可以访问 Kotlin class 中的 Jooq 源,如下所示 (FetchBooks.kt)

import project.mobile.generated.databaseBook.tables.references.I_BOOKS;

....
 .select(I_BOOKS.BOOK_NAME)

但是在Java classes我必须像下面这样(FetchBooks.java)

import static project.mobile.generated.databaseBook.tables.references.TablesKt.getI_BOOKS;

....
 .select(getI_BOOKS().getBOOK_NAME())

这在 Java 中似乎是一种相当混乱的方式。 有什么建议吗?

您可以修补代码生成器以生成一些注释,例如为您的各种属性生成 @JvmField。目前没有这种注释的钩子,所以这不是开箱即用的。需要打补丁(或复制粘贴 JavaGenerator::generateTable 的实现并仅打补丁)。

但是,我建议使用 JavaGenerator 生成你的 jOOQ 代码,直到你的代码库完全迁移到 kotlin。