我正在开发一个使用 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 中运行。
最佳答案
这是一个有趣的情况,在代码生成器初始化 JDBC 连接后能够运行其他 SQL 语句可能会有所帮助。可能值得feature request you could report here .
作为解决方法,您始终可以:
- 从 jOOQ-meta 模块扩展
OracleDatabase
并重写create0()
方法,该方法为您的所有数据库提供初始化的DSLContext
代码生成元查询。 - 使用 programmatic code generation configuration并在将 JDBC 连接传递给代码生成器之前自行初始化
关于java - 如何使 JOOQ codegen 与基于 Oracle 版本的重定义配合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70408151/