JOOQ 如何为投影生成额外的 Pojo
JOOQ howto generate additional Pojos for projections
我有一个 DTO,用于查询中的预测,它基于 JOOQ 创建的 POJO,但添加了一个自定义字段(从连接中检索)。
目前,我需要:
- 定义投影的DTO,继承生成的POJO
- 在 DTO 中添加自定义字段
- 创建构造函数
它很小class,但每次修改底层POJO都需要修改。
我想知道这个过程是否可以自动化?我也可以利用生成过程来发出我的 DTO 吗?
我可以看到几种方法:
- Subclass 生成的 POJO。这使 POJO class 保持不变,并允许仅在需要时添加内容。这也适用于不可变的 POJO
- 使用 "custom code section" 生成自定义代码。这将确保每次生成 jOOQ 代码时都会重新生成自定义代码。现在这将适用于不可变的 POJO,因为您无法更改构造函数。
- 使用视图。视图是 SQL 最未被充分利用和被低估的功能。使用视图,您会自动从代码生成器中获得增强的 POJO,您将永远不必再考虑连接。
我有一个 DTO,用于查询中的预测,它基于 JOOQ 创建的 POJO,但添加了一个自定义字段(从连接中检索)。
目前,我需要:
- 定义投影的DTO,继承生成的POJO
- 在 DTO 中添加自定义字段
- 创建构造函数
它很小class,但每次修改底层POJO都需要修改。
我想知道这个过程是否可以自动化?我也可以利用生成过程来发出我的 DTO 吗?
我可以看到几种方法:
- Subclass 生成的 POJO。这使 POJO class 保持不变,并允许仅在需要时添加内容。这也适用于不可变的 POJO
- 使用 "custom code section" 生成自定义代码。这将确保每次生成 jOOQ 代码时都会重新生成自定义代码。现在这将适用于不可变的 POJO,因为您无法更改构造函数。
- 使用视图。视图是 SQL 最未被充分利用和被低估的功能。使用视图,您会自动从代码生成器中获得增强的 POJO,您将永远不必再考虑连接。