Comment generer les annotations JPa ,au niveau des attributs de la classe JAVA générer avec hibernate tool
Version imprimable
Comment generer les annotations JPa ,au niveau des attributs de la classe JAVA générer avec hibernate tool
Il faut modifier les fichiers PojoFields.ftl et PojoPropertyAccessors.ftl qui se trouvent dans le jar hibernate-tools-version.jar
Dans pojoPropertyAccessors.ftl il faut supprimer la ligne <#include "GetPropertyAnnotation.ftl"/>
Créer le fichier Ejb3FieldAnnotation.ftlCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <#-- // Property accessors --> <#foreach property in pojo.getAllPropertiesIterator()> <#if pojo.getMetaAttribAsBool(property, "gen-property", true)> <#if pojo.hasFieldJavaDoc(property)> /** * ${pojo.getFieldJavaDoc(property, 4)} */ </#if> <#include "GetPropertyAnnotation.ftl"/> ${pojo.getPropertyGetModifiers(property)} ${pojo.getJavaTypeName(property, jdk5)} ${pojo.getGetterSignature(property)}() { return this.${property.name}; } ${pojo.getPropertySetModifiers(property)} void set${pojo.getPropertyName(property)}(${pojo.getJavaTypeName(property, jdk5)} ${property.name}) { this.${property.name} = ${property.name}; } </#if> </#foreach>
Importer le fichier Ejb3FieldAnnotation.ftl dans PojoFiels.ftlCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <#if ejb3> <#if pojo.hasIdentifierProperty()> <#if field.equals(clazz.identifierProperty)> ${pojo.generateAnnIdGenerator()} </#if> </#if> <#if c2h.isManyToOne(field)> <#--TODO support @OneToOne true and false--> ${pojo.generateManyToOneAnnotation(field)} <#--TODO support optional and targetEntity--> ${pojo.generateJoinColumnsAnnotation(field, cfg)} <#elseif c2h.isCollection(field)> ${pojo.generateCollectionAnnotation(field, cfg)} //TODO @OrderBy(name="columnName") <#else> ${pojo.generateBasicAnnotation(field)} ${pojo.generateAnnColumnAnnotation(field)} </#if> </#if>
Code:
1
2
3
4
5
6
7
8
9
10
11 <#-- // Fields --> <#foreach field in pojo.getAllPropertiesIterator()><#if pojo.getMetaAttribAsBool(field, "gen-property", true)> <#if pojo.hasMetaAttribute(field, "field-description")> /** ${pojo.getFieldJavaDoc(field, 0)} */ </#if> <#include "Ejb3FieldAnnotation.ftl"/> ${pojo.getFieldModifiers(field)} ${pojo.getJavaTypeName(field, jdk5)} ${field.name}<#if pojo.hasFieldInitializor(field, jdk5)> = ${pojo.getFieldInitialization(field, jdk5)}</#if>; </#if> </#foreach>