| ##included template. Generates the @Column annotation. |
| ##Assumes that the context has a "column" and a "table" object |
| ##generate annotation only the parameters for the column NOT default |
| ##and the generateDLLAnnotation property is not set on the table |
| ###------------------------------------------------ |
| #macro( append $members $parameters ) |
| #if( $members == "") |
| #set( $members = $parameters ) |
| #else |
| #set( $members = "$members, $parameters" ) |
| #end |
| #end |
| ###------------------------------------------------ |
| #if ( $column.dataTypeLOB) |
| @Lob() |
| #end |
| #if ( $column.needMapTemporalType) |
| @Temporal( TemporalType.$column.temporalType) |
| #end |
| #set ($members = "") |
| #if ( !$column.default || $customizer.generateDDLAnnotations ) |
| #if ( !${column.defaultname} ) |
| #append($members "name=$customizer.quote($column.name)" ) |
| #end |
| #if (!$column.insertable) |
| #append(${members} "insertable=false") |
| #end |
| #if (!$column.updateable) |
| #append(${members} "updatable=false") |
| #end |
| #end |
| #if( $customizer.generateDDLAnnotations ) |
| #if ($column.unique) |
| #append($members "unique=true") |
| #end |
| #if (!$column.nullable) |
| #append($members "nullable=false") |
| #end |
| #if ($column.size > 0) |
| #if ($column.numeric) |
| #append($members "precision=$column.size") |
| #if ($column.decimalDigits != 0 && $column.decimalDigits != -1) |
| #append($members "scale=$column.decimalDigits") |
| #end |
| #else |
| #if ( !$column.dataTypeLOB) |
| #append($members "length=$column.size") |
| #end |
| #end |
| #end |
| #end |
| #if( $members !="" ) |
| @Column($members) |
| #end |