Available in versions: Dev (3.19) | Latest (3.18) | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11 | 3.10 | 3.9

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.

Overriding rename()

Applies to ✅ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

As of jOOQ 3.19.0-SNAPSHOT, the rename() method is not declared in any super type yet, but it will be eventually, see #13937.

Occasionally, users will want to rename a table for the scope of a single query, rather than globally as with the runtime schema and table mapping feature. This can be done with Table.rename(Name):

// Overridden Book.rename() returns Book, not Table<Book>:
Book b = BOOK.rename("b");

// Type safe dereferencing of TableField:
Field<String> title = b.TITLE;

Unlike as(), this does not affect generated SQL other than assuming a table b of the same structure as BOOK exists in the schema.

If generating these overrides is not a desireable default, it can be deactivated explicitly globally using the following flag:

XML (standalone and maven)

See the configuration XSD, standalone code generation, and maven code generation for more details.

new org.jooq.meta.jaxb.Configuration()
  .withGenerator(new Generator()
    .withDatabase(new Database()

See the configuration XSD andprogrammatic code generation for more details.

generationTool {
  generator {
    database {
      renameMethodOverrides = false

See the configuration XSD and gradle code generation for more details.


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

The jOOQ Logo