Available in versions: Dev (3.22) | Latest (3.21) | 3.20 | 3.19 | 3.18

This documentation is for the unreleased development version of jOOQ. Click on the above version links to get this documentation for a supported version of jOOQ.

Identifier length

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

Most databases limit the length of identifiers, e.g. to 63 characters in PostgreSQL. jOOQ sometimes generates identifiers itself, e.g. when deriving an alias from an expression, and those may exceed such a limit. Long user-defined aliases can, too. When the nameAutoAliasingIfMaxLengthExceeded setting is active, jOOQ replaces any unqualified, quoted identifier that exceeds the maximum length with a generated alias_[hash] identifier, where [hash] is a hash of the original identifier.

  • nameAutoAliasingIfMaxLengthExceeded: Whether to replace identifiers that are too long. The default is true.
  • nameMaxLength: An override for the maximum identifier length. If this isn't set, jOOQ uses the dialect's maximum identifier length. This setting has no effect if nameAutoAliasingIfMaxLengthExceeded is turned off.

Identifiers are only replaced if they are quoted, see the identifier style settings.

Example configuration

Settings settings = new Settings()
    .withNameAutoAliasingIfMaxLengthExceeded(true) // Defaults to true
    .withNameMaxLength(30);                        // Defaults to the dialect's limit

References to this page

Feedback

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

The jOOQ Logo