为什么 Jooq 代码生成器对所有文件进行不必要的更改?

Why does Jooq Code Generator makes un-necessary changes to all files?

我正在使用 Jooq 代码生成器,我注意到当我在数据库和 运行 代码生成器中进行更改时,它会更改所有文件,而不仅仅是那些应该更改的文件.

例如,我添加了一个新的 table,所以我看到 table 是新的 class,[=26= 是新的 class ] 记录,我看到 table 已添加到架构 class。但是在代表其他 table 的 class 中,根本不应该受到影响,我在“导入”部分也看到了变化。

在某些文件中,我看到只添加了一个空行。在其他人中,我看到特定导入行的位置已更改。在其他 classes 中,包含 * 的导入行将替换为整个导入列表 classes,反之亦然。

示例:

我的问题是:为什么 Jooq 会那样做??我可以关闭此行为吗?

谢谢!

jOOQ 代码生成器不会生成您显示的特定导入,即 import org.jooq.*;。您一定是自己完成的,可以手动完成,也可以通过对生成的代码进行一些 post 处理。

  • 如果您手动执行此操作,那么这显然违背了 jOOQ 生成的代码应该是什么的想法,即派生代码,不应手动修改。代码生成器不可能检测到您修改了哪些部分(并打算保留)以及您没有修改哪些部分(因此允许被覆盖)。只是不要那样做。
  • 如果您通过自动 post 处理完成此操作,那么 jOOQ 的代码生成器 仍然 无法检测到这一点,但是在覆盖所有内容之后,您只需要 re-apply这个post处理,最终结果应该是未修改的代码。