Available in versions: Dev (3.22) | Latest (3.21) | 3.20 | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12

Code generation for large schemas

Supported by ✅ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

Databases can become very large in real-world applications. This is not a problem for jOOQ's code generator, but it can be for the Java compiler. jOOQ generates some classes for global access. These classes can hit two sorts of limits of the compiler / JVM:

  • Methods (including static / instance initialisers) are allowed to contain only 64kb of bytecode.
  • Classes are allowed to contain at most 64k of constant literals

While there exist workarounds for the above two limitations (delegating initialisations to nested classes, inheriting constant literals from implemented interfaces), the preferred approach is either one of these:

Independently of these hard limits, large schemas can produce a lot of generated code, which slows down compilation and IDE indexing. See the section about reducing the size of generated code for code generation flags that help with this.

References to this page

Feedback

Do you have any feedback about this page? We'd love to hear it!

The jOOQ Logo