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
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 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!