I'm working on a project with an Oracle database where we have decided to enable Edition based redefinition. We're also using jooq-codegen for creating Java objects based on objects we have created in the database.
I have read through the documentation for jooq-codegen, but have issues finding a way to make JOOQ work with Oracle editions. Normally I would use an alter session set edition=<some edition>
statement to connect to the correct edition, but I can't find a way to do this with jooq-codegen.
Is there any way to do init queries with jooq-codegen, or maybe even a way to specify an edition with jooq-codegen? I'm hoping there is something I have overlooked as I can't find this in the documentation.
I don't think it should matter, but I'm using maven and this will be ran in Jenkins.
CodePudding user response:
That's an interesting case where it might be beneficial to be able to run additional SQL statements after a JDBC connection has been initialised by the code generator. Probably worth a feature request you could report here.
As a workaround, you can always:
- Extend the
OracleDatabase
from the jOOQ-meta module and override thecreate0()
method, which provides an initialisedDSLContext
for all of your code generation meta queries. - Use a programmatic code generation configuration and initialise the JDBC connection yourself before passing it to the code generator