JOOQ 如何为投影生成额外的 Pojo

JOOQ howto generate additional Pojos for projections

我有一个 DTO,用于查询中的预测,它基于 JOOQ 创建的 POJO,但添加了一个自定义字段(从连接中检索)。

目前,我需要:

它很小class,但每次修改底层POJO都需要修改。

我想知道这个过程是否可以自动化?我也可以利用生成过程来发出我的 DTO 吗?

我可以看到几种方法:

  1. Subclass 生成的 POJO。这使 POJO class 保持不变,并允许仅在需要时添加内容。这也适用于不可变的 POJO
  2. 使用 "custom code section" 生成自定义代码。这将确保每次生成 jOOQ 代码时都会重新生成自定义代码。现在这将适用于不可变的 POJO,因为您无法更改构造函数。
  3. 使用视图。视图是 SQL 最未被充分利用和被低估的功能。使用视图,您会自动从代码生成器中获得增强的 POJO,您将永远不必再考虑连接。