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
Generated Interfaces
Supported by ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
Every table, view, udt in your database will generate an interface that looks like this:
public interface IBook extends java.io.Serializable {
// Every column generates a getter and a setter
public void setId(Integer value);
public Integer getId();
// [...]
}
The purpose of these interfaces is to be able to abstract over jOOQ generated records and POJOs.
Flags controlling interface generation
<configuration>
<generator>
<generate>
<!-- Turn on the generation of interfaces -->
<interfaces>true</interfaces>
<!-- Generated interfaces will not expose mutable components of their implementations, such as setters -->
<immutableInterfaces>true</immutableInterfaces>
<!-- Whether generated interfaces are Serializable -->
<serializableInterfaces>true</serializableInterfaces>
</generate>
</generator>
</configuration>
See the configuration XSD, standalone code generation, and maven code generation for more details.
new org.jooq.meta.jaxb.Configuration()
.withGenerator(
new Generate()
// Turn on the generation of interfaces
.withInterfaces(true)
// Generated interfaces will not expose mutable components of their implementations, such as setters
.withImmutableInterfaces(true)
// Whether generated interfaces are Serializable
.withSerializableInterfaces(true)
)
See the configuration XSD and programmatic code generation for more details.
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19 only.
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19 only.
generationTool {
generator {
generate {
// Turn on the generation of interfaces
interfaces = true
// Generated interfaces will not expose mutable components of their implementations, such as setters
immutableInterfaces = true
// Whether generated interfaces are Serializable
serializableInterfaces = true
}
}
}
See the configuration XSD and gradle code generation for more details.
Note, there are numerous problems related to generated interfaces as can be seen in #10509.
Feedback
Do you have any feedback about this page? We'd love to hear it!