Available in versions: Dev (3.21) | Latest (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11
Overriding as()
Supported by ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
                                                        The most popular covariant override is the override of the Table.as(Name) method and its overloads, in order to offer type safe column aliasing.
                                                    
// Overridden Book.as() returns Book, not Table<Book>:
Book b = BOOK.as("b");
// Type safe dereferencing of TableField:
Field<String> title = b.TITLE;
If generating these overrides is not a desireable default, it can be deactivated explicitly globally using the following flag:
<configuration>
  <generator>
    <database>
      <asMethodOverrides>false</asMethodOverrides>
    </database>
  </generator>
</configuration>
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()
      .withAsMethodOverrides(false)
    )
  )
See the configuration XSD and programmatic code generation for more details.
import org.jooq.meta.jaxb.*
configuration {
  generator {
    database {
      isAsMethodOverrides = false
    }
  }
}
See the configuration XSD and gradle code generation for more details.
configuration {
  generator {
    database {
      asMethodOverrides = false
    }
  }
}
See the configuration XSD and gradle code generation for more details.
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.

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