Jooq pojoImplements:视图与 table

Jooq pojoImplements: view vs table

我有一个包含 table 和视图的数据库。我使用 JOOQ 生成 java 代码来与数据交互。

我希望为任何 table 生成的每个 pojo 都实现我的自定义界面。我已经使用 pojoImplements 完成了这项工作。

仅 table 需要此行为,我不希望为视图生成的 pojo 实现该自定义界面。

是否有任何方法(可能在表达式中?)将一些规则应用于 table 并将其他规则应用于视图?

目前执行此操作的唯一方法是使用匹配对象名称的 <expression> 标志,例如

<tables>
  <table>
    <expression>EXPRESSION_MATCHING_ONLY_TABLES</expression>
    <pojoImplements>...</pojoImplements>
  </table>
</tables>

如果您有严格的命名约定(例如 T_TABLEV_VIEW 等),您可以在正则表达式中使用前缀,例如 T_.*?,或者您必须显式匹配所有 table 个名称。

如果您使用的是 programmatic code generator configuration,则可以使用查询生成该正则表达式。在 PostgreSQL 中,该查询可能如下所示:

SELECT string_agg(table_name, '|')
FROM information_schema.tables
WHERE table_schema = 'public'
AND table_type = 'BASE TABLE'