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
Annotations
Supported by ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
The code generator supports a set of annotations on generated code, which can be turned on using the following flags. These annotations include:
-
Generated annotations: The JDK generated annotation can be added to all generated classes to include some useful meta information, like the jOOQ version, or the schema version, or the generation date:
-
javax.annotation.processing.Generated(JDK 9+, upgrade to jOOQ 3.12+ to profit from this) -
javax.annotation.Generated(JDK 8-)
-
-
JPA annotations: A minimal set of JPA annotations can be generated on POJOs and other artefacts to convey type and metadata information that is available to the code generator. These annotations include:
-
javax.persistence.Column -
javax.persistence.Entity -
javax.persistence.GeneratedValue -
javax.persistence.GenerationType -
javax.persistence.Id -
javax.persistence.Index(JPA 2.1 and later) -
javax.persistence.Table -
javax.persistence.UniqueConstraint
@Column) can be used by theorg.jooq.impl.DefaultRecordMapperfor mapping records to POJOs. -
- Validation annotations: A set of Bean Validation API annotations can be added to the generated code to convey type information. They include: jOOQ does not implement the validation spec, nor does it validate your data, but you can use third-party tools to read the jOOQ-generated validation annotations.
-
Spring annotations: Some useful Spring annotations can be generated on DAOs for better Spring integration. These include:
-
org.springframework.beans.factory.annotation.Autowired -
org.springframework.stereotype.Repository
-
The flags governing the generation of these annotations are:
<configuration>
<generator>
<generate>
<generatedAnnotation>true</generatedAnnotation>
<jpaAnnotations>true</jpaAnnotations>
<jpaVersion>2.2</jpaVersion>
<validationAnnotations>true</validationAnnotations>
<springAnnotations>true</springAnnotations>
</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()
.withGeneratedAnnotation(true)
.withJpaAnnotations(true)
.withJpaVersion(2.2)
.withValidationAnnotations(true)
.withSpringAnnotations(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 {
generatedAnnotation = true
jpaAnnotations = true
jpaVersion = 2.2
validationAnnotations = true
springAnnotations = true
}
}
}
See the configuration XSD and gradle code generation for more details.
Feedback
Do you have any feedback about this page? We'd love to hear it!