java - 如何使 JOOQ codegen 与基于 Oracle 版本的重定义配合使用?

标签 java oracle maven jooq jooq-codegen-maven

我正在开发一个使用 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/

相关文章:

java - Twitter4j API 跟踪和位置过滤器

oracle - 自动从数据库中选择日期作为 Zend_Date 对象

java - 将我的 javaagent 传递给 tomcat-maven-plugin 而不是 Tomcat 服务器

maven - 如何解决 "' repositories.repository.id' 必须是唯一的"在 mvn 安装期间

mysql - oracle中limit关键字的使用

maven - 特定环境下的 Liquibase 执行(maven + spring boot)

java - Spring 文件上传 - 'Required request part is not present'

java - p :accordionPanel generates java. lang.NullPointerException

java - 拆分输入但插入数组

python - OracleDB 导出到 MySQL。 DBatalog 命名为 None