I am assessing JOOQ for use in a new system that is still under development. I would like to avoid code generation when the database is being developed along with the application and simply plays a role of a persistent storage for this application. So, the database schema definition is expected to be driven by Java code (table definitions in java).
Is JOOQ appropriate for the above use case? Is there a java DSL for schema definition?
Is JOOQ appropriate for the above use case?
Yes, many jOOQ users use only the runtime library without the code generator. Examples can be seen in the getting started guide.
Is there a java DSL for schema definition?
jOOQ wraps JDBC's DatabaseMetaData
in org.jooq.Meta
, which you can access via DSLContext.meta()
. The objects returned from Meta
are again jOOQ's Schema
, Table
, Field
objects, which you can use with the rest of the API.
On a side note, Vlad Mihalcea has written this very interseting blog post about how to use the jOOQ code generator in a Hibernate project, where the database is driven by the JPA-annotated Java model. Maybe that is useful to you as well.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With