Available in versions: Dev (3.20) | Latest (3.19) | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11 | 3.10
Annotations
Applies to ✅ 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.DefaultRecordMapper
for 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!