【问题标题】:How do I make JOOQ codegen work with Oracle Edition-Based Redefinition?如何使 JOOQ 代码生成与基于 Oracle 版本的重新定义一起使用?
【发布时间】:2022-01-21 06:19:38
【问题描述】:

我正在处理一个使用 Oracle 数据库的项目,我们决定启用 Edition based redefinition。我们还使用 jooq-codegen 根据我们在数据库中创建的对象创建 Java 对象。

我已通读documentation for jooq-codegen,但在寻找使 JOOQ 与 Oracle 版本一起使用的方法时遇到问题。通常我会使用alter session set edition=<some edition> 语句连接到正确的版本,但我找不到使用 jooq-codegen 的方法。

有没有办法用 jooq-codegen 进行初始化查询,或者甚至可以用 jooq-codegen 指定一个版本?我希望有一些我忽略的东西,因为我在文档中找不到。

我认为这无关紧要,但我使用的是 maven,这将在 Jenkins 中运行。

【问题讨论】:

    标签: java oracle maven jooq jooq-codegen-maven


    【解决方案1】:

    这是一个有趣的案例,在代码生成器初始化 JDBC 连接之后能够运行额外的 SQL 语句可能是有益的。可能值得feature request you could report here

    作为一种解决方法,您始终可以:

    • 从 jOOQ-meta 模块扩展 OracleDatabase 并覆盖 create0() 方法,该方法为您的所有代码生成元查询提供初始化的 DSLContext
    • 使用 programmatic code generation configuration 并自己初始化 JDBC 连接,然后再将其传递给代码生成器

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-28
      • 1970-01-01
      • 2020-06-10
      • 2016-02-19
      • 2017-12-08
      • 2016-06-12
      • 2016-07-22
      • 2016-01-16
      相关资源
      最近更新 更多