All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.japkit.annotationtemplates.JpaAnnotationTemplatesGen Maven / Gradle / Ivy

Go to download

Provides a code generator for Annotation Templates. Annotation Templates provide an easy way to generate annotations.

There is a newer version: 2.0
Show newest version
package de.japkit.annotationtemplates;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.AssociationOverride;
import javax.persistence.AssociationOverrides;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Basic;
import javax.persistence.Cacheable;
import javax.persistence.CascadeType;
import javax.persistence.CollectionTable;
import javax.persistence.Column;
import javax.persistence.ColumnResult;
import javax.persistence.ConstraintMode;
import javax.persistence.ConstructorResult;
import javax.persistence.Convert;
import javax.persistence.Converter;
import javax.persistence.Converts;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.ElementCollection;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.EntityResult;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.ExcludeDefaultListeners;
import javax.persistence.ExcludeSuperclassListeners;
import javax.persistence.FetchType;
import javax.persistence.FieldResult;
import javax.persistence.ForeignKey;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.Index;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.JoinTable;
import javax.persistence.Lob;
import javax.persistence.LockModeType;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.MapKey;
import javax.persistence.MapKeyClass;
import javax.persistence.MapKeyColumn;
import javax.persistence.MapKeyEnumerated;
import javax.persistence.MapKeyJoinColumn;
import javax.persistence.MapKeyJoinColumns;
import javax.persistence.MapKeyTemporal;
import javax.persistence.MappedSuperclass;
import javax.persistence.MapsId;
import javax.persistence.NamedAttributeNode;
import javax.persistence.NamedEntityGraph;
import javax.persistence.NamedEntityGraphs;
import javax.persistence.NamedNativeQueries;
import javax.persistence.NamedNativeQuery;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.NamedStoredProcedureQueries;
import javax.persistence.NamedStoredProcedureQuery;
import javax.persistence.NamedSubgraph;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.OrderBy;
import javax.persistence.OrderColumn;
import javax.persistence.ParameterMode;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;
import javax.persistence.PersistenceContexts;
import javax.persistence.PersistenceProperty;
import javax.persistence.PersistenceUnit;
import javax.persistence.PersistenceUnits;
import javax.persistence.PostLoad;
import javax.persistence.PostPersist;
import javax.persistence.PostRemove;
import javax.persistence.PostUpdate;
import javax.persistence.PrePersist;
import javax.persistence.PreRemove;
import javax.persistence.PreUpdate;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.PrimaryKeyJoinColumns;
import javax.persistence.QueryHint;
import javax.persistence.SecondaryTable;
import javax.persistence.SecondaryTables;
import javax.persistence.SequenceGenerator;
import javax.persistence.SqlResultSetMapping;
import javax.persistence.SqlResultSetMappings;
import javax.persistence.StoredProcedureParameter;
import javax.persistence.SynchronizationType;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import javax.persistence.UniqueConstraint;
import javax.persistence.Version;
import de.japkit.annotations.AnnotationTemplate;
import de.japkit.annotations.Generated;
import de.japkit.annotations.Order;
import de.japkit.annotationtemplates.AnnotationTemplates;

@AnnotationTemplates(targetAnnotations = {Convert.class,
				ForeignKey.class,
				PrePersist.class,
				SecondaryTable.class,
				MapKeyEnumerated.class,
				ManyToMany.class,
				MapKeyTemporal.class,
				Inheritance.class,
				PreRemove.class,
				MapKeyJoinColumn.class,
				Transient.class,
				Enumerated.class,
				EmbeddedId.class,
				OneToOne.class,
				Entity.class,
				MapKeyColumn.class,
				PrimaryKeyJoinColumns.class,
				OrderBy.class,
				PersistenceProperty.class,
				JoinColumn.class,
				NamedNativeQueries.class,
				MapsId.class,
				GeneratedValue.class,
				Embedded.class,
				JoinTable.class,
				PostRemove.class,
				FieldResult.class,
				MappedSuperclass.class,
				NamedQuery.class,
				SqlResultSetMappings.class,
				SequenceGenerator.class,
				NamedAttributeNode.class,
				ColumnResult.class,
				OneToMany.class,
				Lob.class,
				ExcludeDefaultListeners.class,
				QueryHint.class,
				Basic.class,
				NamedStoredProcedureQuery.class,
				AssociationOverride.class,
				IdClass.class,
				PersistenceContext.class,
				PersistenceUnits.class,
				AttributeOverrides.class,
				ManyToOne.class,
				Access.class,
				TableGenerator.class,
				NamedQueries.class,
				PostUpdate.class,
				NamedNativeQuery.class,
				ConstructorResult.class,
				NamedEntityGraphs.class,
				UniqueConstraint.class,
				ElementCollection.class,
				StoredProcedureParameter.class,
				AttributeOverride.class,
				PersistenceUnit.class,
				PreUpdate.class,
				Column.class,
				NamedEntityGraph.class,
				SecondaryTables.class,
				Id.class,
				Index.class,
				Temporal.class,
				PrimaryKeyJoinColumn.class,
				Cacheable.class,
				PostPersist.class,
				Converter.class,
				Table.class,
				EntityListeners.class,
				Version.class,
				NamedSubgraph.class,
				ExcludeSuperclassListeners.class,
				OrderColumn.class,
				DiscriminatorValue.class,
				MapKeyClass.class,
				Embeddable.class,
				SqlResultSetMapping.class,
				JoinColumns.class,
				CollectionTable.class,
				MapKey.class,
				DiscriminatorColumn.class,
				PostLoad.class,
				AssociationOverrides.class,
				Converts.class,
				MapKeyJoinColumns.class,
				NamedStoredProcedureQueries.class,
				EntityResult.class,
				PersistenceContexts.class},
		shadow = true)
@Generated(src = "de.japkit.annotationtemplates.JpaAnnotationTemplates")
public class JpaAnnotationTemplatesGen {
	/** This annotation template will generate an annotation of type {@link javax.persistence.Convert}. */
	@AnnotationTemplate(targetAnnotation = Convert.class)
	@Order(0)
	public static @interface Convert_ {
		/** @return a constant value for annotation value 'converter'.
		 @see javax.persistence.Convert#value() */
		@Order(0)
		public Class [] converter() default {};
		
		/** @return expression to determine if the annotation value 'converter' shall be generated. Default is true. */
		@Order(1)
		public String converter_cond() default "";
		
		/** @return the expression language for the condition expression for 'converter'. */
		@Order(2)
		public String converter_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'converter' shall be generated. */
		@Order(3)
		public Class [] converter_condFun() default {};
		
		/** @return the src expression for generating annotation value 'converter'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String converter_src() default "";
		
		/** @return the expression for the value of annotation value 'converter'. 
		 Can be used as alternative to {@link converter()} if the value is not constant. */
		@Order(5)
		public String converter_expr() default "";
		
		/** @return a constant value for annotation value 'attributeName'.
		 @see javax.persistence.Convert#value() */
		@Order(6)
		public String [] attributeName() default {};
		
		/** @return expression to determine if the annotation value 'attributeName' shall be generated. Default is true. */
		@Order(7)
		public String attributeName_cond() default "";
		
		/** @return the expression language for the condition expression for 'attributeName'. */
		@Order(8)
		public String attributeName_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'attributeName' shall be generated. */
		@Order(9)
		public Class [] attributeName_condFun() default {};
		
		/** @return the src expression for generating annotation value 'attributeName'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String attributeName_src() default "";
		
		/** @return the expression for the value of annotation value 'attributeName'. 
		 Can be used as alternative to {@link attributeName()} if the value is not constant. */
		@Order(11)
		public String attributeName_expr() default "";
		
		/** @return a constant value for annotation value 'disableConversion'.
		 @see javax.persistence.Convert#value() */
		@Order(12)
		public boolean [] disableConversion() default {};
		
		/** @return expression to determine if the annotation value 'disableConversion' shall be generated. Default is true. */
		@Order(13)
		public String disableConversion_cond() default "";
		
		/** @return the expression language for the condition expression for 'disableConversion'. */
		@Order(14)
		public String disableConversion_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'disableConversion' shall be generated. */
		@Order(15)
		public Class [] disableConversion_condFun() default {};
		
		/** @return the src expression for generating annotation value 'disableConversion'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String disableConversion_src() default "";
		
		/** @return the expression for the value of annotation value 'disableConversion'. 
		 Can be used as alternative to {@link disableConversion()} if the value is not constant. */
		@Order(17)
		public String disableConversion_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(18)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(19)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(20)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(21)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(22)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(23)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.ForeignKey}. */
	@AnnotationTemplate(targetAnnotation = ForeignKey.class)
	@Order(1)
	public static @interface ForeignKey_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.ForeignKey#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKeyDefinition'.
		 @see javax.persistence.ForeignKey#value() */
		@Order(6)
		public String [] foreignKeyDefinition() default {};
		
		/** @return expression to determine if the annotation value 'foreignKeyDefinition' shall be generated. Default is true. */
		@Order(7)
		public String foreignKeyDefinition_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKeyDefinition'. */
		@Order(8)
		public String foreignKeyDefinition_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKeyDefinition' shall be generated. */
		@Order(9)
		public Class [] foreignKeyDefinition_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKeyDefinition'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String foreignKeyDefinition_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKeyDefinition'. 
		 Can be used as alternative to {@link foreignKeyDefinition()} if the value is not constant. */
		@Order(11)
		public String foreignKeyDefinition_expr() default "";
		
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.ForeignKey#value() */
		@Order(12)
		public ConstraintMode [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(13)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(14)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(15)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(17)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(18)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(19)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(20)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(21)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(22)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(23)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PrePersist}. */
	@AnnotationTemplate(targetAnnotation = PrePersist.class)
	@Order(2)
	public static @interface PrePersist_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.SecondaryTable}. */
	@AnnotationTemplate(targetAnnotation = SecondaryTable.class)
	@Order(3)
	public static @interface SecondaryTable_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.SecondaryTable#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'catalog'.
		 @see javax.persistence.SecondaryTable#value() */
		@Order(6)
		public String [] catalog() default {};
		
		/** @return expression to determine if the annotation value 'catalog' shall be generated. Default is true. */
		@Order(7)
		public String catalog_cond() default "";
		
		/** @return the expression language for the condition expression for 'catalog'. */
		@Order(8)
		public String catalog_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'catalog' shall be generated. */
		@Order(9)
		public Class [] catalog_condFun() default {};
		
		/** @return the src expression for generating annotation value 'catalog'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String catalog_src() default "";
		
		/** @return the expression for the value of annotation value 'catalog'. 
		 Can be used as alternative to {@link catalog()} if the value is not constant. */
		@Order(11)
		public String catalog_expr() default "";
		
		/** @return a constant value for annotation value 'schema'.
		 @see javax.persistence.SecondaryTable#value() */
		@Order(12)
		public String [] schema() default {};
		
		/** @return expression to determine if the annotation value 'schema' shall be generated. Default is true. */
		@Order(13)
		public String schema_cond() default "";
		
		/** @return the expression language for the condition expression for 'schema'. */
		@Order(14)
		public String schema_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'schema' shall be generated. */
		@Order(15)
		public Class [] schema_condFun() default {};
		
		/** @return the src expression for generating annotation value 'schema'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String schema_src() default "";
		
		/** @return the expression for the value of annotation value 'schema'. 
		 Can be used as alternative to {@link schema()} if the value is not constant. */
		@Order(17)
		public String schema_expr() default "";
		
		/** @return a constant value for annotation value 'pkJoinColumns'.
		 @see javax.persistence.SecondaryTable#value() */
		@Order(18)
		public PrimaryKeyJoinColumn [] pkJoinColumns() default {};
		
		/** @return the annotation template to generate the value of annotation value 'pkJoinColumns'. 
		 	Can be used as alternative to {@link pkJoinColumns()} if the value is not constant. */
		@Order(19)
		public PrimaryKeyJoinColumn_ [] pkJoinColumns_() default {};
		
		/** @return expression to determine if the annotation value 'pkJoinColumns' shall be generated. Default is true. */
		@Order(20)
		public String pkJoinColumns_cond() default "";
		
		/** @return the expression language for the condition expression for 'pkJoinColumns'. */
		@Order(21)
		public String pkJoinColumns_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'pkJoinColumns' shall be generated. */
		@Order(22)
		public Class [] pkJoinColumns_condFun() default {};
		
		/** @return the src expression for generating annotation value 'pkJoinColumns'. If this results in a collection, an array will be generated. */
		@Order(23)
		public String pkJoinColumns_src() default "";
		
		/** @return the expression for the value of annotation value 'pkJoinColumns'. 
		 Can be used as alternative to {@link pkJoinColumns()} if the value is not constant. */
		@Order(24)
		public String pkJoinColumns_expr() default "";
		
		/** @return a constant value for annotation value 'uniqueConstraints'.
		 @see javax.persistence.SecondaryTable#value() */
		@Order(25)
		public UniqueConstraint [] uniqueConstraints() default {};
		
		/** @return the annotation template to generate the value of annotation value 'uniqueConstraints'. 
		 	Can be used as alternative to {@link uniqueConstraints()} if the value is not constant. */
		@Order(26)
		public UniqueConstraint_ [] uniqueConstraints_() default {};
		
		/** @return expression to determine if the annotation value 'uniqueConstraints' shall be generated. Default is true. */
		@Order(27)
		public String uniqueConstraints_cond() default "";
		
		/** @return the expression language for the condition expression for 'uniqueConstraints'. */
		@Order(28)
		public String uniqueConstraints_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'uniqueConstraints' shall be generated. */
		@Order(29)
		public Class [] uniqueConstraints_condFun() default {};
		
		/** @return the src expression for generating annotation value 'uniqueConstraints'. If this results in a collection, an array will be generated. */
		@Order(30)
		public String uniqueConstraints_src() default "";
		
		/** @return the expression for the value of annotation value 'uniqueConstraints'. 
		 Can be used as alternative to {@link uniqueConstraints()} if the value is not constant. */
		@Order(31)
		public String uniqueConstraints_expr() default "";
		
		/** @return a constant value for annotation value 'indexes'.
		 @see javax.persistence.SecondaryTable#value() */
		@Order(32)
		public Index [] indexes() default {};
		
		/** @return the annotation template to generate the value of annotation value 'indexes'. 
		 	Can be used as alternative to {@link indexes()} if the value is not constant. */
		@Order(33)
		public Index_ [] indexes_() default {};
		
		/** @return expression to determine if the annotation value 'indexes' shall be generated. Default is true. */
		@Order(34)
		public String indexes_cond() default "";
		
		/** @return the expression language for the condition expression for 'indexes'. */
		@Order(35)
		public String indexes_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'indexes' shall be generated. */
		@Order(36)
		public Class [] indexes_condFun() default {};
		
		/** @return the src expression for generating annotation value 'indexes'. If this results in a collection, an array will be generated. */
		@Order(37)
		public String indexes_src() default "";
		
		/** @return the expression for the value of annotation value 'indexes'. 
		 Can be used as alternative to {@link indexes()} if the value is not constant. */
		@Order(38)
		public String indexes_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKey'.
		 @see javax.persistence.SecondaryTable#value() */
		@Order(39)
		public ForeignKey [] foreignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'foreignKey'. 
		 	Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(40)
		public ForeignKey_ [] foreignKey_() default {};
		
		/** @return expression to determine if the annotation value 'foreignKey' shall be generated. Default is true. */
		@Order(41)
		public String foreignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKey'. */
		@Order(42)
		public String foreignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKey' shall be generated. */
		@Order(43)
		public Class [] foreignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKey'. If this results in a collection, an array will be generated. */
		@Order(44)
		public String foreignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKey'. 
		 Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(45)
		public String foreignKey_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(46)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(47)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(48)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(49)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(50)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(51)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.MapKeyEnumerated}. */
	@AnnotationTemplate(targetAnnotation = MapKeyEnumerated.class)
	@Order(4)
	public static @interface MapKeyEnumerated_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.MapKeyEnumerated#value() */
		@Order(0)
		public EnumType [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.ManyToMany}. */
	@AnnotationTemplate(targetAnnotation = ManyToMany.class)
	@Order(5)
	public static @interface ManyToMany_ {
		/** @return a constant value for annotation value 'targetEntity'.
		 @see javax.persistence.ManyToMany#value() */
		@Order(0)
		public Class [] targetEntity() default {};
		
		/** @return expression to determine if the annotation value 'targetEntity' shall be generated. Default is true. */
		@Order(1)
		public String targetEntity_cond() default "";
		
		/** @return the expression language for the condition expression for 'targetEntity'. */
		@Order(2)
		public String targetEntity_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'targetEntity' shall be generated. */
		@Order(3)
		public Class [] targetEntity_condFun() default {};
		
		/** @return the src expression for generating annotation value 'targetEntity'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String targetEntity_src() default "";
		
		/** @return the expression for the value of annotation value 'targetEntity'. 
		 Can be used as alternative to {@link targetEntity()} if the value is not constant. */
		@Order(5)
		public String targetEntity_expr() default "";
		
		/** @return a constant value for annotation value 'cascade'.
		 @see javax.persistence.ManyToMany#value() */
		@Order(6)
		public CascadeType [] cascade() default {};
		
		/** @return expression to determine if the annotation value 'cascade' shall be generated. Default is true. */
		@Order(7)
		public String cascade_cond() default "";
		
		/** @return the expression language for the condition expression for 'cascade'. */
		@Order(8)
		public String cascade_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'cascade' shall be generated. */
		@Order(9)
		public Class [] cascade_condFun() default {};
		
		/** @return the src expression for generating annotation value 'cascade'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String cascade_src() default "";
		
		/** @return the expression for the value of annotation value 'cascade'. 
		 Can be used as alternative to {@link cascade()} if the value is not constant. */
		@Order(11)
		public String cascade_expr() default "";
		
		/** @return a constant value for annotation value 'fetch'.
		 @see javax.persistence.ManyToMany#value() */
		@Order(12)
		public FetchType [] fetch() default {};
		
		/** @return expression to determine if the annotation value 'fetch' shall be generated. Default is true. */
		@Order(13)
		public String fetch_cond() default "";
		
		/** @return the expression language for the condition expression for 'fetch'. */
		@Order(14)
		public String fetch_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'fetch' shall be generated. */
		@Order(15)
		public Class [] fetch_condFun() default {};
		
		/** @return the src expression for generating annotation value 'fetch'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String fetch_src() default "";
		
		/** @return the expression for the value of annotation value 'fetch'. 
		 Can be used as alternative to {@link fetch()} if the value is not constant. */
		@Order(17)
		public String fetch_expr() default "";
		
		/** @return a constant value for annotation value 'mappedBy'.
		 @see javax.persistence.ManyToMany#value() */
		@Order(18)
		public String [] mappedBy() default {};
		
		/** @return expression to determine if the annotation value 'mappedBy' shall be generated. Default is true. */
		@Order(19)
		public String mappedBy_cond() default "";
		
		/** @return the expression language for the condition expression for 'mappedBy'. */
		@Order(20)
		public String mappedBy_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'mappedBy' shall be generated. */
		@Order(21)
		public Class [] mappedBy_condFun() default {};
		
		/** @return the src expression for generating annotation value 'mappedBy'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String mappedBy_src() default "";
		
		/** @return the expression for the value of annotation value 'mappedBy'. 
		 Can be used as alternative to {@link mappedBy()} if the value is not constant. */
		@Order(23)
		public String mappedBy_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(24)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(25)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(26)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(27)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(28)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(29)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.MapKeyTemporal}. */
	@AnnotationTemplate(targetAnnotation = MapKeyTemporal.class)
	@Order(6)
	public static @interface MapKeyTemporal_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.MapKeyTemporal#value() */
		@Order(0)
		public TemporalType [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Inheritance}. */
	@AnnotationTemplate(targetAnnotation = Inheritance.class)
	@Order(7)
	public static @interface Inheritance_ {
		/** @return a constant value for annotation value 'strategy'.
		 @see javax.persistence.Inheritance#value() */
		@Order(0)
		public InheritanceType [] strategy() default {};
		
		/** @return expression to determine if the annotation value 'strategy' shall be generated. Default is true. */
		@Order(1)
		public String strategy_cond() default "";
		
		/** @return the expression language for the condition expression for 'strategy'. */
		@Order(2)
		public String strategy_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'strategy' shall be generated. */
		@Order(3)
		public Class [] strategy_condFun() default {};
		
		/** @return the src expression for generating annotation value 'strategy'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String strategy_src() default "";
		
		/** @return the expression for the value of annotation value 'strategy'. 
		 Can be used as alternative to {@link strategy()} if the value is not constant. */
		@Order(5)
		public String strategy_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PreRemove}. */
	@AnnotationTemplate(targetAnnotation = PreRemove.class)
	@Order(8)
	public static @interface PreRemove_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.MapKeyJoinColumn}. */
	@AnnotationTemplate(targetAnnotation = MapKeyJoinColumn.class)
	@Order(9)
	public static @interface MapKeyJoinColumn_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.MapKeyJoinColumn#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'referencedColumnName'.
		 @see javax.persistence.MapKeyJoinColumn#value() */
		@Order(6)
		public String [] referencedColumnName() default {};
		
		/** @return expression to determine if the annotation value 'referencedColumnName' shall be generated. Default is true. */
		@Order(7)
		public String referencedColumnName_cond() default "";
		
		/** @return the expression language for the condition expression for 'referencedColumnName'. */
		@Order(8)
		public String referencedColumnName_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'referencedColumnName' shall be generated. */
		@Order(9)
		public Class [] referencedColumnName_condFun() default {};
		
		/** @return the src expression for generating annotation value 'referencedColumnName'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String referencedColumnName_src() default "";
		
		/** @return the expression for the value of annotation value 'referencedColumnName'. 
		 Can be used as alternative to {@link referencedColumnName()} if the value is not constant. */
		@Order(11)
		public String referencedColumnName_expr() default "";
		
		/** @return a constant value for annotation value 'unique'.
		 @see javax.persistence.MapKeyJoinColumn#value() */
		@Order(12)
		public boolean [] unique() default {};
		
		/** @return expression to determine if the annotation value 'unique' shall be generated. Default is true. */
		@Order(13)
		public String unique_cond() default "";
		
		/** @return the expression language for the condition expression for 'unique'. */
		@Order(14)
		public String unique_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'unique' shall be generated. */
		@Order(15)
		public Class [] unique_condFun() default {};
		
		/** @return the src expression for generating annotation value 'unique'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String unique_src() default "";
		
		/** @return the expression for the value of annotation value 'unique'. 
		 Can be used as alternative to {@link unique()} if the value is not constant. */
		@Order(17)
		public String unique_expr() default "";
		
		/** @return a constant value for annotation value 'nullable'.
		 @see javax.persistence.MapKeyJoinColumn#value() */
		@Order(18)
		public boolean [] nullable() default {};
		
		/** @return expression to determine if the annotation value 'nullable' shall be generated. Default is true. */
		@Order(19)
		public String nullable_cond() default "";
		
		/** @return the expression language for the condition expression for 'nullable'. */
		@Order(20)
		public String nullable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'nullable' shall be generated. */
		@Order(21)
		public Class [] nullable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'nullable'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String nullable_src() default "";
		
		/** @return the expression for the value of annotation value 'nullable'. 
		 Can be used as alternative to {@link nullable()} if the value is not constant. */
		@Order(23)
		public String nullable_expr() default "";
		
		/** @return a constant value for annotation value 'insertable'.
		 @see javax.persistence.MapKeyJoinColumn#value() */
		@Order(24)
		public boolean [] insertable() default {};
		
		/** @return expression to determine if the annotation value 'insertable' shall be generated. Default is true. */
		@Order(25)
		public String insertable_cond() default "";
		
		/** @return the expression language for the condition expression for 'insertable'. */
		@Order(26)
		public String insertable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'insertable' shall be generated. */
		@Order(27)
		public Class [] insertable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'insertable'. If this results in a collection, an array will be generated. */
		@Order(28)
		public String insertable_src() default "";
		
		/** @return the expression for the value of annotation value 'insertable'. 
		 Can be used as alternative to {@link insertable()} if the value is not constant. */
		@Order(29)
		public String insertable_expr() default "";
		
		/** @return a constant value for annotation value 'updatable'.
		 @see javax.persistence.MapKeyJoinColumn#value() */
		@Order(30)
		public boolean [] updatable() default {};
		
		/** @return expression to determine if the annotation value 'updatable' shall be generated. Default is true. */
		@Order(31)
		public String updatable_cond() default "";
		
		/** @return the expression language for the condition expression for 'updatable'. */
		@Order(32)
		public String updatable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'updatable' shall be generated. */
		@Order(33)
		public Class [] updatable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'updatable'. If this results in a collection, an array will be generated. */
		@Order(34)
		public String updatable_src() default "";
		
		/** @return the expression for the value of annotation value 'updatable'. 
		 Can be used as alternative to {@link updatable()} if the value is not constant. */
		@Order(35)
		public String updatable_expr() default "";
		
		/** @return a constant value for annotation value 'columnDefinition'.
		 @see javax.persistence.MapKeyJoinColumn#value() */
		@Order(36)
		public String [] columnDefinition() default {};
		
		/** @return expression to determine if the annotation value 'columnDefinition' shall be generated. Default is true. */
		@Order(37)
		public String columnDefinition_cond() default "";
		
		/** @return the expression language for the condition expression for 'columnDefinition'. */
		@Order(38)
		public String columnDefinition_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columnDefinition' shall be generated. */
		@Order(39)
		public Class [] columnDefinition_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columnDefinition'. If this results in a collection, an array will be generated. */
		@Order(40)
		public String columnDefinition_src() default "";
		
		/** @return the expression for the value of annotation value 'columnDefinition'. 
		 Can be used as alternative to {@link columnDefinition()} if the value is not constant. */
		@Order(41)
		public String columnDefinition_expr() default "";
		
		/** @return a constant value for annotation value 'table'.
		 @see javax.persistence.MapKeyJoinColumn#value() */
		@Order(42)
		public String [] table() default {};
		
		/** @return expression to determine if the annotation value 'table' shall be generated. Default is true. */
		@Order(43)
		public String table_cond() default "";
		
		/** @return the expression language for the condition expression for 'table'. */
		@Order(44)
		public String table_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'table' shall be generated. */
		@Order(45)
		public Class [] table_condFun() default {};
		
		/** @return the src expression for generating annotation value 'table'. If this results in a collection, an array will be generated. */
		@Order(46)
		public String table_src() default "";
		
		/** @return the expression for the value of annotation value 'table'. 
		 Can be used as alternative to {@link table()} if the value is not constant. */
		@Order(47)
		public String table_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKey'.
		 @see javax.persistence.MapKeyJoinColumn#value() */
		@Order(48)
		public ForeignKey [] foreignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'foreignKey'. 
		 	Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(49)
		public ForeignKey_ [] foreignKey_() default {};
		
		/** @return expression to determine if the annotation value 'foreignKey' shall be generated. Default is true. */
		@Order(50)
		public String foreignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKey'. */
		@Order(51)
		public String foreignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKey' shall be generated. */
		@Order(52)
		public Class [] foreignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKey'. If this results in a collection, an array will be generated. */
		@Order(53)
		public String foreignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKey'. 
		 Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(54)
		public String foreignKey_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(55)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(56)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(57)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(58)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(59)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(60)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Transient}. */
	@AnnotationTemplate(targetAnnotation = Transient.class)
	@Order(10)
	public static @interface Transient_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Enumerated}. */
	@AnnotationTemplate(targetAnnotation = Enumerated.class)
	@Order(11)
	public static @interface Enumerated_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.Enumerated#value() */
		@Order(0)
		public EnumType [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.EmbeddedId}. */
	@AnnotationTemplate(targetAnnotation = EmbeddedId.class)
	@Order(12)
	public static @interface EmbeddedId_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.OneToOne}. */
	@AnnotationTemplate(targetAnnotation = OneToOne.class)
	@Order(13)
	public static @interface OneToOne_ {
		/** @return a constant value for annotation value 'targetEntity'.
		 @see javax.persistence.OneToOne#value() */
		@Order(0)
		public Class [] targetEntity() default {};
		
		/** @return expression to determine if the annotation value 'targetEntity' shall be generated. Default is true. */
		@Order(1)
		public String targetEntity_cond() default "";
		
		/** @return the expression language for the condition expression for 'targetEntity'. */
		@Order(2)
		public String targetEntity_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'targetEntity' shall be generated. */
		@Order(3)
		public Class [] targetEntity_condFun() default {};
		
		/** @return the src expression for generating annotation value 'targetEntity'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String targetEntity_src() default "";
		
		/** @return the expression for the value of annotation value 'targetEntity'. 
		 Can be used as alternative to {@link targetEntity()} if the value is not constant. */
		@Order(5)
		public String targetEntity_expr() default "";
		
		/** @return a constant value for annotation value 'cascade'.
		 @see javax.persistence.OneToOne#value() */
		@Order(6)
		public CascadeType [] cascade() default {};
		
		/** @return expression to determine if the annotation value 'cascade' shall be generated. Default is true. */
		@Order(7)
		public String cascade_cond() default "";
		
		/** @return the expression language for the condition expression for 'cascade'. */
		@Order(8)
		public String cascade_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'cascade' shall be generated. */
		@Order(9)
		public Class [] cascade_condFun() default {};
		
		/** @return the src expression for generating annotation value 'cascade'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String cascade_src() default "";
		
		/** @return the expression for the value of annotation value 'cascade'. 
		 Can be used as alternative to {@link cascade()} if the value is not constant. */
		@Order(11)
		public String cascade_expr() default "";
		
		/** @return a constant value for annotation value 'fetch'.
		 @see javax.persistence.OneToOne#value() */
		@Order(12)
		public FetchType [] fetch() default {};
		
		/** @return expression to determine if the annotation value 'fetch' shall be generated. Default is true. */
		@Order(13)
		public String fetch_cond() default "";
		
		/** @return the expression language for the condition expression for 'fetch'. */
		@Order(14)
		public String fetch_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'fetch' shall be generated. */
		@Order(15)
		public Class [] fetch_condFun() default {};
		
		/** @return the src expression for generating annotation value 'fetch'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String fetch_src() default "";
		
		/** @return the expression for the value of annotation value 'fetch'. 
		 Can be used as alternative to {@link fetch()} if the value is not constant. */
		@Order(17)
		public String fetch_expr() default "";
		
		/** @return a constant value for annotation value 'optional'.
		 @see javax.persistence.OneToOne#value() */
		@Order(18)
		public boolean [] optional() default {};
		
		/** @return expression to determine if the annotation value 'optional' shall be generated. Default is true. */
		@Order(19)
		public String optional_cond() default "";
		
		/** @return the expression language for the condition expression for 'optional'. */
		@Order(20)
		public String optional_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'optional' shall be generated. */
		@Order(21)
		public Class [] optional_condFun() default {};
		
		/** @return the src expression for generating annotation value 'optional'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String optional_src() default "";
		
		/** @return the expression for the value of annotation value 'optional'. 
		 Can be used as alternative to {@link optional()} if the value is not constant. */
		@Order(23)
		public String optional_expr() default "";
		
		/** @return a constant value for annotation value 'mappedBy'.
		 @see javax.persistence.OneToOne#value() */
		@Order(24)
		public String [] mappedBy() default {};
		
		/** @return expression to determine if the annotation value 'mappedBy' shall be generated. Default is true. */
		@Order(25)
		public String mappedBy_cond() default "";
		
		/** @return the expression language for the condition expression for 'mappedBy'. */
		@Order(26)
		public String mappedBy_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'mappedBy' shall be generated. */
		@Order(27)
		public Class [] mappedBy_condFun() default {};
		
		/** @return the src expression for generating annotation value 'mappedBy'. If this results in a collection, an array will be generated. */
		@Order(28)
		public String mappedBy_src() default "";
		
		/** @return the expression for the value of annotation value 'mappedBy'. 
		 Can be used as alternative to {@link mappedBy()} if the value is not constant. */
		@Order(29)
		public String mappedBy_expr() default "";
		
		/** @return a constant value for annotation value 'orphanRemoval'.
		 @see javax.persistence.OneToOne#value() */
		@Order(30)
		public boolean [] orphanRemoval() default {};
		
		/** @return expression to determine if the annotation value 'orphanRemoval' shall be generated. Default is true. */
		@Order(31)
		public String orphanRemoval_cond() default "";
		
		/** @return the expression language for the condition expression for 'orphanRemoval'. */
		@Order(32)
		public String orphanRemoval_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'orphanRemoval' shall be generated. */
		@Order(33)
		public Class [] orphanRemoval_condFun() default {};
		
		/** @return the src expression for generating annotation value 'orphanRemoval'. If this results in a collection, an array will be generated. */
		@Order(34)
		public String orphanRemoval_src() default "";
		
		/** @return the expression for the value of annotation value 'orphanRemoval'. 
		 Can be used as alternative to {@link orphanRemoval()} if the value is not constant. */
		@Order(35)
		public String orphanRemoval_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(36)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(37)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(38)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(39)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(40)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(41)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Entity}. */
	@AnnotationTemplate(targetAnnotation = Entity.class)
	@Order(14)
	public static @interface Entity_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.Entity#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.MapKeyColumn}. */
	@AnnotationTemplate(targetAnnotation = MapKeyColumn.class)
	@Order(15)
	public static @interface MapKeyColumn_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.MapKeyColumn#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'unique'.
		 @see javax.persistence.MapKeyColumn#value() */
		@Order(6)
		public boolean [] unique() default {};
		
		/** @return expression to determine if the annotation value 'unique' shall be generated. Default is true. */
		@Order(7)
		public String unique_cond() default "";
		
		/** @return the expression language for the condition expression for 'unique'. */
		@Order(8)
		public String unique_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'unique' shall be generated. */
		@Order(9)
		public Class [] unique_condFun() default {};
		
		/** @return the src expression for generating annotation value 'unique'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String unique_src() default "";
		
		/** @return the expression for the value of annotation value 'unique'. 
		 Can be used as alternative to {@link unique()} if the value is not constant. */
		@Order(11)
		public String unique_expr() default "";
		
		/** @return a constant value for annotation value 'nullable'.
		 @see javax.persistence.MapKeyColumn#value() */
		@Order(12)
		public boolean [] nullable() default {};
		
		/** @return expression to determine if the annotation value 'nullable' shall be generated. Default is true. */
		@Order(13)
		public String nullable_cond() default "";
		
		/** @return the expression language for the condition expression for 'nullable'. */
		@Order(14)
		public String nullable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'nullable' shall be generated. */
		@Order(15)
		public Class [] nullable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'nullable'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String nullable_src() default "";
		
		/** @return the expression for the value of annotation value 'nullable'. 
		 Can be used as alternative to {@link nullable()} if the value is not constant. */
		@Order(17)
		public String nullable_expr() default "";
		
		/** @return a constant value for annotation value 'insertable'.
		 @see javax.persistence.MapKeyColumn#value() */
		@Order(18)
		public boolean [] insertable() default {};
		
		/** @return expression to determine if the annotation value 'insertable' shall be generated. Default is true. */
		@Order(19)
		public String insertable_cond() default "";
		
		/** @return the expression language for the condition expression for 'insertable'. */
		@Order(20)
		public String insertable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'insertable' shall be generated. */
		@Order(21)
		public Class [] insertable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'insertable'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String insertable_src() default "";
		
		/** @return the expression for the value of annotation value 'insertable'. 
		 Can be used as alternative to {@link insertable()} if the value is not constant. */
		@Order(23)
		public String insertable_expr() default "";
		
		/** @return a constant value for annotation value 'updatable'.
		 @see javax.persistence.MapKeyColumn#value() */
		@Order(24)
		public boolean [] updatable() default {};
		
		/** @return expression to determine if the annotation value 'updatable' shall be generated. Default is true. */
		@Order(25)
		public String updatable_cond() default "";
		
		/** @return the expression language for the condition expression for 'updatable'. */
		@Order(26)
		public String updatable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'updatable' shall be generated. */
		@Order(27)
		public Class [] updatable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'updatable'. If this results in a collection, an array will be generated. */
		@Order(28)
		public String updatable_src() default "";
		
		/** @return the expression for the value of annotation value 'updatable'. 
		 Can be used as alternative to {@link updatable()} if the value is not constant. */
		@Order(29)
		public String updatable_expr() default "";
		
		/** @return a constant value for annotation value 'columnDefinition'.
		 @see javax.persistence.MapKeyColumn#value() */
		@Order(30)
		public String [] columnDefinition() default {};
		
		/** @return expression to determine if the annotation value 'columnDefinition' shall be generated. Default is true. */
		@Order(31)
		public String columnDefinition_cond() default "";
		
		/** @return the expression language for the condition expression for 'columnDefinition'. */
		@Order(32)
		public String columnDefinition_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columnDefinition' shall be generated. */
		@Order(33)
		public Class [] columnDefinition_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columnDefinition'. If this results in a collection, an array will be generated. */
		@Order(34)
		public String columnDefinition_src() default "";
		
		/** @return the expression for the value of annotation value 'columnDefinition'. 
		 Can be used as alternative to {@link columnDefinition()} if the value is not constant. */
		@Order(35)
		public String columnDefinition_expr() default "";
		
		/** @return a constant value for annotation value 'table'.
		 @see javax.persistence.MapKeyColumn#value() */
		@Order(36)
		public String [] table() default {};
		
		/** @return expression to determine if the annotation value 'table' shall be generated. Default is true. */
		@Order(37)
		public String table_cond() default "";
		
		/** @return the expression language for the condition expression for 'table'. */
		@Order(38)
		public String table_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'table' shall be generated. */
		@Order(39)
		public Class [] table_condFun() default {};
		
		/** @return the src expression for generating annotation value 'table'. If this results in a collection, an array will be generated. */
		@Order(40)
		public String table_src() default "";
		
		/** @return the expression for the value of annotation value 'table'. 
		 Can be used as alternative to {@link table()} if the value is not constant. */
		@Order(41)
		public String table_expr() default "";
		
		/** @return a constant value for annotation value 'length'.
		 @see javax.persistence.MapKeyColumn#value() */
		@Order(42)
		public int [] length() default {};
		
		/** @return expression to determine if the annotation value 'length' shall be generated. Default is true. */
		@Order(43)
		public String length_cond() default "";
		
		/** @return the expression language for the condition expression for 'length'. */
		@Order(44)
		public String length_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'length' shall be generated. */
		@Order(45)
		public Class [] length_condFun() default {};
		
		/** @return the src expression for generating annotation value 'length'. If this results in a collection, an array will be generated. */
		@Order(46)
		public String length_src() default "";
		
		/** @return the expression for the value of annotation value 'length'. 
		 Can be used as alternative to {@link length()} if the value is not constant. */
		@Order(47)
		public String length_expr() default "";
		
		/** @return a constant value for annotation value 'precision'.
		 @see javax.persistence.MapKeyColumn#value() */
		@Order(48)
		public int [] precision() default {};
		
		/** @return expression to determine if the annotation value 'precision' shall be generated. Default is true. */
		@Order(49)
		public String precision_cond() default "";
		
		/** @return the expression language for the condition expression for 'precision'. */
		@Order(50)
		public String precision_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'precision' shall be generated. */
		@Order(51)
		public Class [] precision_condFun() default {};
		
		/** @return the src expression for generating annotation value 'precision'. If this results in a collection, an array will be generated. */
		@Order(52)
		public String precision_src() default "";
		
		/** @return the expression for the value of annotation value 'precision'. 
		 Can be used as alternative to {@link precision()} if the value is not constant. */
		@Order(53)
		public String precision_expr() default "";
		
		/** @return a constant value for annotation value 'scale'.
		 @see javax.persistence.MapKeyColumn#value() */
		@Order(54)
		public int [] scale() default {};
		
		/** @return expression to determine if the annotation value 'scale' shall be generated. Default is true. */
		@Order(55)
		public String scale_cond() default "";
		
		/** @return the expression language for the condition expression for 'scale'. */
		@Order(56)
		public String scale_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'scale' shall be generated. */
		@Order(57)
		public Class [] scale_condFun() default {};
		
		/** @return the src expression for generating annotation value 'scale'. If this results in a collection, an array will be generated. */
		@Order(58)
		public String scale_src() default "";
		
		/** @return the expression for the value of annotation value 'scale'. 
		 Can be used as alternative to {@link scale()} if the value is not constant. */
		@Order(59)
		public String scale_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(60)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(61)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(62)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(63)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(64)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(65)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PrimaryKeyJoinColumns}. */
	@AnnotationTemplate(targetAnnotation = PrimaryKeyJoinColumns.class)
	@Order(16)
	public static @interface PrimaryKeyJoinColumns_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.PrimaryKeyJoinColumns#value() */
		@Order(0)
		public PrimaryKeyJoinColumn [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public PrimaryKeyJoinColumn_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKey'.
		 @see javax.persistence.PrimaryKeyJoinColumns#value() */
		@Order(7)
		public ForeignKey [] foreignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'foreignKey'. 
		 	Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(8)
		public ForeignKey_ [] foreignKey_() default {};
		
		/** @return expression to determine if the annotation value 'foreignKey' shall be generated. Default is true. */
		@Order(9)
		public String foreignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKey'. */
		@Order(10)
		public String foreignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKey' shall be generated. */
		@Order(11)
		public Class [] foreignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKey'. If this results in a collection, an array will be generated. */
		@Order(12)
		public String foreignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKey'. 
		 Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(13)
		public String foreignKey_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(14)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(15)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(16)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(17)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(18)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(19)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.OrderBy}. */
	@AnnotationTemplate(targetAnnotation = OrderBy.class)
	@Order(17)
	public static @interface OrderBy_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.OrderBy#value() */
		@Order(0)
		public String [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PersistenceProperty}. */
	@AnnotationTemplate(targetAnnotation = PersistenceProperty.class)
	@Order(18)
	public static @interface PersistenceProperty_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.PersistenceProperty#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.PersistenceProperty#value() */
		@Order(6)
		public String [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(7)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(8)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(9)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(11)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(12)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(13)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(14)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(15)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(16)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(17)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.JoinColumn}. */
	@AnnotationTemplate(targetAnnotation = JoinColumn.class)
	@Order(19)
	public static @interface JoinColumn_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.JoinColumn#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'referencedColumnName'.
		 @see javax.persistence.JoinColumn#value() */
		@Order(6)
		public String [] referencedColumnName() default {};
		
		/** @return expression to determine if the annotation value 'referencedColumnName' shall be generated. Default is true. */
		@Order(7)
		public String referencedColumnName_cond() default "";
		
		/** @return the expression language for the condition expression for 'referencedColumnName'. */
		@Order(8)
		public String referencedColumnName_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'referencedColumnName' shall be generated. */
		@Order(9)
		public Class [] referencedColumnName_condFun() default {};
		
		/** @return the src expression for generating annotation value 'referencedColumnName'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String referencedColumnName_src() default "";
		
		/** @return the expression for the value of annotation value 'referencedColumnName'. 
		 Can be used as alternative to {@link referencedColumnName()} if the value is not constant. */
		@Order(11)
		public String referencedColumnName_expr() default "";
		
		/** @return a constant value for annotation value 'unique'.
		 @see javax.persistence.JoinColumn#value() */
		@Order(12)
		public boolean [] unique() default {};
		
		/** @return expression to determine if the annotation value 'unique' shall be generated. Default is true. */
		@Order(13)
		public String unique_cond() default "";
		
		/** @return the expression language for the condition expression for 'unique'. */
		@Order(14)
		public String unique_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'unique' shall be generated. */
		@Order(15)
		public Class [] unique_condFun() default {};
		
		/** @return the src expression for generating annotation value 'unique'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String unique_src() default "";
		
		/** @return the expression for the value of annotation value 'unique'. 
		 Can be used as alternative to {@link unique()} if the value is not constant. */
		@Order(17)
		public String unique_expr() default "";
		
		/** @return a constant value for annotation value 'nullable'.
		 @see javax.persistence.JoinColumn#value() */
		@Order(18)
		public boolean [] nullable() default {};
		
		/** @return expression to determine if the annotation value 'nullable' shall be generated. Default is true. */
		@Order(19)
		public String nullable_cond() default "";
		
		/** @return the expression language for the condition expression for 'nullable'. */
		@Order(20)
		public String nullable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'nullable' shall be generated. */
		@Order(21)
		public Class [] nullable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'nullable'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String nullable_src() default "";
		
		/** @return the expression for the value of annotation value 'nullable'. 
		 Can be used as alternative to {@link nullable()} if the value is not constant. */
		@Order(23)
		public String nullable_expr() default "";
		
		/** @return a constant value for annotation value 'insertable'.
		 @see javax.persistence.JoinColumn#value() */
		@Order(24)
		public boolean [] insertable() default {};
		
		/** @return expression to determine if the annotation value 'insertable' shall be generated. Default is true. */
		@Order(25)
		public String insertable_cond() default "";
		
		/** @return the expression language for the condition expression for 'insertable'. */
		@Order(26)
		public String insertable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'insertable' shall be generated. */
		@Order(27)
		public Class [] insertable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'insertable'. If this results in a collection, an array will be generated. */
		@Order(28)
		public String insertable_src() default "";
		
		/** @return the expression for the value of annotation value 'insertable'. 
		 Can be used as alternative to {@link insertable()} if the value is not constant. */
		@Order(29)
		public String insertable_expr() default "";
		
		/** @return a constant value for annotation value 'updatable'.
		 @see javax.persistence.JoinColumn#value() */
		@Order(30)
		public boolean [] updatable() default {};
		
		/** @return expression to determine if the annotation value 'updatable' shall be generated. Default is true. */
		@Order(31)
		public String updatable_cond() default "";
		
		/** @return the expression language for the condition expression for 'updatable'. */
		@Order(32)
		public String updatable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'updatable' shall be generated. */
		@Order(33)
		public Class [] updatable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'updatable'. If this results in a collection, an array will be generated. */
		@Order(34)
		public String updatable_src() default "";
		
		/** @return the expression for the value of annotation value 'updatable'. 
		 Can be used as alternative to {@link updatable()} if the value is not constant. */
		@Order(35)
		public String updatable_expr() default "";
		
		/** @return a constant value for annotation value 'columnDefinition'.
		 @see javax.persistence.JoinColumn#value() */
		@Order(36)
		public String [] columnDefinition() default {};
		
		/** @return expression to determine if the annotation value 'columnDefinition' shall be generated. Default is true. */
		@Order(37)
		public String columnDefinition_cond() default "";
		
		/** @return the expression language for the condition expression for 'columnDefinition'. */
		@Order(38)
		public String columnDefinition_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columnDefinition' shall be generated. */
		@Order(39)
		public Class [] columnDefinition_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columnDefinition'. If this results in a collection, an array will be generated. */
		@Order(40)
		public String columnDefinition_src() default "";
		
		/** @return the expression for the value of annotation value 'columnDefinition'. 
		 Can be used as alternative to {@link columnDefinition()} if the value is not constant. */
		@Order(41)
		public String columnDefinition_expr() default "";
		
		/** @return a constant value for annotation value 'table'.
		 @see javax.persistence.JoinColumn#value() */
		@Order(42)
		public String [] table() default {};
		
		/** @return expression to determine if the annotation value 'table' shall be generated. Default is true. */
		@Order(43)
		public String table_cond() default "";
		
		/** @return the expression language for the condition expression for 'table'. */
		@Order(44)
		public String table_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'table' shall be generated. */
		@Order(45)
		public Class [] table_condFun() default {};
		
		/** @return the src expression for generating annotation value 'table'. If this results in a collection, an array will be generated. */
		@Order(46)
		public String table_src() default "";
		
		/** @return the expression for the value of annotation value 'table'. 
		 Can be used as alternative to {@link table()} if the value is not constant. */
		@Order(47)
		public String table_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKey'.
		 @see javax.persistence.JoinColumn#value() */
		@Order(48)
		public ForeignKey [] foreignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'foreignKey'. 
		 	Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(49)
		public ForeignKey_ [] foreignKey_() default {};
		
		/** @return expression to determine if the annotation value 'foreignKey' shall be generated. Default is true. */
		@Order(50)
		public String foreignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKey'. */
		@Order(51)
		public String foreignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKey' shall be generated. */
		@Order(52)
		public Class [] foreignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKey'. If this results in a collection, an array will be generated. */
		@Order(53)
		public String foreignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKey'. 
		 Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(54)
		public String foreignKey_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(55)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(56)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(57)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(58)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(59)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(60)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.NamedNativeQueries}. */
	@AnnotationTemplate(targetAnnotation = NamedNativeQueries.class)
	@Order(20)
	public static @interface NamedNativeQueries_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.NamedNativeQueries#value() */
		@Order(0)
		public NamedNativeQuery [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public NamedNativeQuery_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.MapsId}. */
	@AnnotationTemplate(targetAnnotation = MapsId.class)
	@Order(21)
	public static @interface MapsId_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.MapsId#value() */
		@Order(0)
		public String [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.GeneratedValue}. */
	@AnnotationTemplate(targetAnnotation = GeneratedValue.class)
	@Order(22)
	public static @interface GeneratedValue_ {
		/** @return a constant value for annotation value 'strategy'.
		 @see javax.persistence.GeneratedValue#value() */
		@Order(0)
		public GenerationType [] strategy() default {};
		
		/** @return expression to determine if the annotation value 'strategy' shall be generated. Default is true. */
		@Order(1)
		public String strategy_cond() default "";
		
		/** @return the expression language for the condition expression for 'strategy'. */
		@Order(2)
		public String strategy_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'strategy' shall be generated. */
		@Order(3)
		public Class [] strategy_condFun() default {};
		
		/** @return the src expression for generating annotation value 'strategy'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String strategy_src() default "";
		
		/** @return the expression for the value of annotation value 'strategy'. 
		 Can be used as alternative to {@link strategy()} if the value is not constant. */
		@Order(5)
		public String strategy_expr() default "";
		
		/** @return a constant value for annotation value 'generator'.
		 @see javax.persistence.GeneratedValue#value() */
		@Order(6)
		public String [] generator() default {};
		
		/** @return expression to determine if the annotation value 'generator' shall be generated. Default is true. */
		@Order(7)
		public String generator_cond() default "";
		
		/** @return the expression language for the condition expression for 'generator'. */
		@Order(8)
		public String generator_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'generator' shall be generated. */
		@Order(9)
		public Class [] generator_condFun() default {};
		
		/** @return the src expression for generating annotation value 'generator'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String generator_src() default "";
		
		/** @return the expression for the value of annotation value 'generator'. 
		 Can be used as alternative to {@link generator()} if the value is not constant. */
		@Order(11)
		public String generator_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(12)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(13)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(14)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(15)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(16)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(17)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Embedded}. */
	@AnnotationTemplate(targetAnnotation = Embedded.class)
	@Order(23)
	public static @interface Embedded_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.JoinTable}. */
	@AnnotationTemplate(targetAnnotation = JoinTable.class)
	@Order(24)
	public static @interface JoinTable_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.JoinTable#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'catalog'.
		 @see javax.persistence.JoinTable#value() */
		@Order(6)
		public String [] catalog() default {};
		
		/** @return expression to determine if the annotation value 'catalog' shall be generated. Default is true. */
		@Order(7)
		public String catalog_cond() default "";
		
		/** @return the expression language for the condition expression for 'catalog'. */
		@Order(8)
		public String catalog_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'catalog' shall be generated. */
		@Order(9)
		public Class [] catalog_condFun() default {};
		
		/** @return the src expression for generating annotation value 'catalog'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String catalog_src() default "";
		
		/** @return the expression for the value of annotation value 'catalog'. 
		 Can be used as alternative to {@link catalog()} if the value is not constant. */
		@Order(11)
		public String catalog_expr() default "";
		
		/** @return a constant value for annotation value 'schema'.
		 @see javax.persistence.JoinTable#value() */
		@Order(12)
		public String [] schema() default {};
		
		/** @return expression to determine if the annotation value 'schema' shall be generated. Default is true. */
		@Order(13)
		public String schema_cond() default "";
		
		/** @return the expression language for the condition expression for 'schema'. */
		@Order(14)
		public String schema_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'schema' shall be generated. */
		@Order(15)
		public Class [] schema_condFun() default {};
		
		/** @return the src expression for generating annotation value 'schema'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String schema_src() default "";
		
		/** @return the expression for the value of annotation value 'schema'. 
		 Can be used as alternative to {@link schema()} if the value is not constant. */
		@Order(17)
		public String schema_expr() default "";
		
		/** @return a constant value for annotation value 'joinColumns'.
		 @see javax.persistence.JoinTable#value() */
		@Order(18)
		public JoinColumn [] joinColumns() default {};
		
		/** @return the annotation template to generate the value of annotation value 'joinColumns'. 
		 	Can be used as alternative to {@link joinColumns()} if the value is not constant. */
		@Order(19)
		public JoinColumn_ [] joinColumns_() default {};
		
		/** @return expression to determine if the annotation value 'joinColumns' shall be generated. Default is true. */
		@Order(20)
		public String joinColumns_cond() default "";
		
		/** @return the expression language for the condition expression for 'joinColumns'. */
		@Order(21)
		public String joinColumns_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'joinColumns' shall be generated. */
		@Order(22)
		public Class [] joinColumns_condFun() default {};
		
		/** @return the src expression for generating annotation value 'joinColumns'. If this results in a collection, an array will be generated. */
		@Order(23)
		public String joinColumns_src() default "";
		
		/** @return the expression for the value of annotation value 'joinColumns'. 
		 Can be used as alternative to {@link joinColumns()} if the value is not constant. */
		@Order(24)
		public String joinColumns_expr() default "";
		
		/** @return a constant value for annotation value 'inverseJoinColumns'.
		 @see javax.persistence.JoinTable#value() */
		@Order(25)
		public JoinColumn [] inverseJoinColumns() default {};
		
		/** @return the annotation template to generate the value of annotation value 'inverseJoinColumns'. 
		 	Can be used as alternative to {@link inverseJoinColumns()} if the value is not constant. */
		@Order(26)
		public JoinColumn_ [] inverseJoinColumns_() default {};
		
		/** @return expression to determine if the annotation value 'inverseJoinColumns' shall be generated. Default is true. */
		@Order(27)
		public String inverseJoinColumns_cond() default "";
		
		/** @return the expression language for the condition expression for 'inverseJoinColumns'. */
		@Order(28)
		public String inverseJoinColumns_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'inverseJoinColumns' shall be generated. */
		@Order(29)
		public Class [] inverseJoinColumns_condFun() default {};
		
		/** @return the src expression for generating annotation value 'inverseJoinColumns'. If this results in a collection, an array will be generated. */
		@Order(30)
		public String inverseJoinColumns_src() default "";
		
		/** @return the expression for the value of annotation value 'inverseJoinColumns'. 
		 Can be used as alternative to {@link inverseJoinColumns()} if the value is not constant. */
		@Order(31)
		public String inverseJoinColumns_expr() default "";
		
		/** @return a constant value for annotation value 'uniqueConstraints'.
		 @see javax.persistence.JoinTable#value() */
		@Order(32)
		public UniqueConstraint [] uniqueConstraints() default {};
		
		/** @return the annotation template to generate the value of annotation value 'uniqueConstraints'. 
		 	Can be used as alternative to {@link uniqueConstraints()} if the value is not constant. */
		@Order(33)
		public UniqueConstraint_ [] uniqueConstraints_() default {};
		
		/** @return expression to determine if the annotation value 'uniqueConstraints' shall be generated. Default is true. */
		@Order(34)
		public String uniqueConstraints_cond() default "";
		
		/** @return the expression language for the condition expression for 'uniqueConstraints'. */
		@Order(35)
		public String uniqueConstraints_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'uniqueConstraints' shall be generated. */
		@Order(36)
		public Class [] uniqueConstraints_condFun() default {};
		
		/** @return the src expression for generating annotation value 'uniqueConstraints'. If this results in a collection, an array will be generated. */
		@Order(37)
		public String uniqueConstraints_src() default "";
		
		/** @return the expression for the value of annotation value 'uniqueConstraints'. 
		 Can be used as alternative to {@link uniqueConstraints()} if the value is not constant. */
		@Order(38)
		public String uniqueConstraints_expr() default "";
		
		/** @return a constant value for annotation value 'indexes'.
		 @see javax.persistence.JoinTable#value() */
		@Order(39)
		public Index [] indexes() default {};
		
		/** @return the annotation template to generate the value of annotation value 'indexes'. 
		 	Can be used as alternative to {@link indexes()} if the value is not constant. */
		@Order(40)
		public Index_ [] indexes_() default {};
		
		/** @return expression to determine if the annotation value 'indexes' shall be generated. Default is true. */
		@Order(41)
		public String indexes_cond() default "";
		
		/** @return the expression language for the condition expression for 'indexes'. */
		@Order(42)
		public String indexes_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'indexes' shall be generated. */
		@Order(43)
		public Class [] indexes_condFun() default {};
		
		/** @return the src expression for generating annotation value 'indexes'. If this results in a collection, an array will be generated. */
		@Order(44)
		public String indexes_src() default "";
		
		/** @return the expression for the value of annotation value 'indexes'. 
		 Can be used as alternative to {@link indexes()} if the value is not constant. */
		@Order(45)
		public String indexes_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKey'.
		 @see javax.persistence.JoinTable#value() */
		@Order(46)
		public ForeignKey [] foreignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'foreignKey'. 
		 	Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(47)
		public ForeignKey_ [] foreignKey_() default {};
		
		/** @return expression to determine if the annotation value 'foreignKey' shall be generated. Default is true. */
		@Order(48)
		public String foreignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKey'. */
		@Order(49)
		public String foreignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKey' shall be generated. */
		@Order(50)
		public Class [] foreignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKey'. If this results in a collection, an array will be generated. */
		@Order(51)
		public String foreignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKey'. 
		 Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(52)
		public String foreignKey_expr() default "";
		
		/** @return a constant value for annotation value 'inverseForeignKey'.
		 @see javax.persistence.JoinTable#value() */
		@Order(53)
		public ForeignKey [] inverseForeignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'inverseForeignKey'. 
		 	Can be used as alternative to {@link inverseForeignKey()} if the value is not constant. */
		@Order(54)
		public ForeignKey_ [] inverseForeignKey_() default {};
		
		/** @return expression to determine if the annotation value 'inverseForeignKey' shall be generated. Default is true. */
		@Order(55)
		public String inverseForeignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'inverseForeignKey'. */
		@Order(56)
		public String inverseForeignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'inverseForeignKey' shall be generated. */
		@Order(57)
		public Class [] inverseForeignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'inverseForeignKey'. If this results in a collection, an array will be generated. */
		@Order(58)
		public String inverseForeignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'inverseForeignKey'. 
		 Can be used as alternative to {@link inverseForeignKey()} if the value is not constant. */
		@Order(59)
		public String inverseForeignKey_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(60)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(61)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(62)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(63)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(64)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(65)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PostRemove}. */
	@AnnotationTemplate(targetAnnotation = PostRemove.class)
	@Order(25)
	public static @interface PostRemove_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.FieldResult}. */
	@AnnotationTemplate(targetAnnotation = FieldResult.class)
	@Order(26)
	public static @interface FieldResult_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.FieldResult#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'column'.
		 @see javax.persistence.FieldResult#value() */
		@Order(6)
		public String [] column() default {};
		
		/** @return expression to determine if the annotation value 'column' shall be generated. Default is true. */
		@Order(7)
		public String column_cond() default "";
		
		/** @return the expression language for the condition expression for 'column'. */
		@Order(8)
		public String column_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'column' shall be generated. */
		@Order(9)
		public Class [] column_condFun() default {};
		
		/** @return the src expression for generating annotation value 'column'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String column_src() default "";
		
		/** @return the expression for the value of annotation value 'column'. 
		 Can be used as alternative to {@link column()} if the value is not constant. */
		@Order(11)
		public String column_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(12)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(13)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(14)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(15)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(16)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(17)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.MappedSuperclass}. */
	@AnnotationTemplate(targetAnnotation = MappedSuperclass.class)
	@Order(27)
	public static @interface MappedSuperclass_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.NamedQuery}. */
	@AnnotationTemplate(targetAnnotation = NamedQuery.class)
	@Order(28)
	public static @interface NamedQuery_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.NamedQuery#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'query'.
		 @see javax.persistence.NamedQuery#value() */
		@Order(6)
		public String [] query() default {};
		
		/** @return expression to determine if the annotation value 'query' shall be generated. Default is true. */
		@Order(7)
		public String query_cond() default "";
		
		/** @return the expression language for the condition expression for 'query'. */
		@Order(8)
		public String query_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'query' shall be generated. */
		@Order(9)
		public Class [] query_condFun() default {};
		
		/** @return the src expression for generating annotation value 'query'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String query_src() default "";
		
		/** @return the expression for the value of annotation value 'query'. 
		 Can be used as alternative to {@link query()} if the value is not constant. */
		@Order(11)
		public String query_expr() default "";
		
		/** @return a constant value for annotation value 'lockMode'.
		 @see javax.persistence.NamedQuery#value() */
		@Order(12)
		public LockModeType [] lockMode() default {};
		
		/** @return expression to determine if the annotation value 'lockMode' shall be generated. Default is true. */
		@Order(13)
		public String lockMode_cond() default "";
		
		/** @return the expression language for the condition expression for 'lockMode'. */
		@Order(14)
		public String lockMode_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'lockMode' shall be generated. */
		@Order(15)
		public Class [] lockMode_condFun() default {};
		
		/** @return the src expression for generating annotation value 'lockMode'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String lockMode_src() default "";
		
		/** @return the expression for the value of annotation value 'lockMode'. 
		 Can be used as alternative to {@link lockMode()} if the value is not constant. */
		@Order(17)
		public String lockMode_expr() default "";
		
		/** @return a constant value for annotation value 'hints'.
		 @see javax.persistence.NamedQuery#value() */
		@Order(18)
		public QueryHint [] hints() default {};
		
		/** @return the annotation template to generate the value of annotation value 'hints'. 
		 	Can be used as alternative to {@link hints()} if the value is not constant. */
		@Order(19)
		public QueryHint_ [] hints_() default {};
		
		/** @return expression to determine if the annotation value 'hints' shall be generated. Default is true. */
		@Order(20)
		public String hints_cond() default "";
		
		/** @return the expression language for the condition expression for 'hints'. */
		@Order(21)
		public String hints_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'hints' shall be generated. */
		@Order(22)
		public Class [] hints_condFun() default {};
		
		/** @return the src expression for generating annotation value 'hints'. If this results in a collection, an array will be generated. */
		@Order(23)
		public String hints_src() default "";
		
		/** @return the expression for the value of annotation value 'hints'. 
		 Can be used as alternative to {@link hints()} if the value is not constant. */
		@Order(24)
		public String hints_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(25)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(26)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(27)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(28)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(29)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(30)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.SqlResultSetMappings}. */
	@AnnotationTemplate(targetAnnotation = SqlResultSetMappings.class)
	@Order(29)
	public static @interface SqlResultSetMappings_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.SqlResultSetMappings#value() */
		@Order(0)
		public SqlResultSetMapping [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public SqlResultSetMapping_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.SequenceGenerator}. */
	@AnnotationTemplate(targetAnnotation = SequenceGenerator.class)
	@Order(30)
	public static @interface SequenceGenerator_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.SequenceGenerator#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'sequenceName'.
		 @see javax.persistence.SequenceGenerator#value() */
		@Order(6)
		public String [] sequenceName() default {};
		
		/** @return expression to determine if the annotation value 'sequenceName' shall be generated. Default is true. */
		@Order(7)
		public String sequenceName_cond() default "";
		
		/** @return the expression language for the condition expression for 'sequenceName'. */
		@Order(8)
		public String sequenceName_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'sequenceName' shall be generated. */
		@Order(9)
		public Class [] sequenceName_condFun() default {};
		
		/** @return the src expression for generating annotation value 'sequenceName'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String sequenceName_src() default "";
		
		/** @return the expression for the value of annotation value 'sequenceName'. 
		 Can be used as alternative to {@link sequenceName()} if the value is not constant. */
		@Order(11)
		public String sequenceName_expr() default "";
		
		/** @return a constant value for annotation value 'catalog'.
		 @see javax.persistence.SequenceGenerator#value() */
		@Order(12)
		public String [] catalog() default {};
		
		/** @return expression to determine if the annotation value 'catalog' shall be generated. Default is true. */
		@Order(13)
		public String catalog_cond() default "";
		
		/** @return the expression language for the condition expression for 'catalog'. */
		@Order(14)
		public String catalog_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'catalog' shall be generated. */
		@Order(15)
		public Class [] catalog_condFun() default {};
		
		/** @return the src expression for generating annotation value 'catalog'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String catalog_src() default "";
		
		/** @return the expression for the value of annotation value 'catalog'. 
		 Can be used as alternative to {@link catalog()} if the value is not constant. */
		@Order(17)
		public String catalog_expr() default "";
		
		/** @return a constant value for annotation value 'schema'.
		 @see javax.persistence.SequenceGenerator#value() */
		@Order(18)
		public String [] schema() default {};
		
		/** @return expression to determine if the annotation value 'schema' shall be generated. Default is true. */
		@Order(19)
		public String schema_cond() default "";
		
		/** @return the expression language for the condition expression for 'schema'. */
		@Order(20)
		public String schema_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'schema' shall be generated. */
		@Order(21)
		public Class [] schema_condFun() default {};
		
		/** @return the src expression for generating annotation value 'schema'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String schema_src() default "";
		
		/** @return the expression for the value of annotation value 'schema'. 
		 Can be used as alternative to {@link schema()} if the value is not constant. */
		@Order(23)
		public String schema_expr() default "";
		
		/** @return a constant value for annotation value 'initialValue'.
		 @see javax.persistence.SequenceGenerator#value() */
		@Order(24)
		public int [] initialValue() default {};
		
		/** @return expression to determine if the annotation value 'initialValue' shall be generated. Default is true. */
		@Order(25)
		public String initialValue_cond() default "";
		
		/** @return the expression language for the condition expression for 'initialValue'. */
		@Order(26)
		public String initialValue_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'initialValue' shall be generated. */
		@Order(27)
		public Class [] initialValue_condFun() default {};
		
		/** @return the src expression for generating annotation value 'initialValue'. If this results in a collection, an array will be generated. */
		@Order(28)
		public String initialValue_src() default "";
		
		/** @return the expression for the value of annotation value 'initialValue'. 
		 Can be used as alternative to {@link initialValue()} if the value is not constant. */
		@Order(29)
		public String initialValue_expr() default "";
		
		/** @return a constant value for annotation value 'allocationSize'.
		 @see javax.persistence.SequenceGenerator#value() */
		@Order(30)
		public int [] allocationSize() default {};
		
		/** @return expression to determine if the annotation value 'allocationSize' shall be generated. Default is true. */
		@Order(31)
		public String allocationSize_cond() default "";
		
		/** @return the expression language for the condition expression for 'allocationSize'. */
		@Order(32)
		public String allocationSize_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'allocationSize' shall be generated. */
		@Order(33)
		public Class [] allocationSize_condFun() default {};
		
		/** @return the src expression for generating annotation value 'allocationSize'. If this results in a collection, an array will be generated. */
		@Order(34)
		public String allocationSize_src() default "";
		
		/** @return the expression for the value of annotation value 'allocationSize'. 
		 Can be used as alternative to {@link allocationSize()} if the value is not constant. */
		@Order(35)
		public String allocationSize_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(36)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(37)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(38)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(39)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(40)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(41)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.NamedAttributeNode}. */
	@AnnotationTemplate(targetAnnotation = NamedAttributeNode.class)
	@Order(31)
	public static @interface NamedAttributeNode_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.NamedAttributeNode#value() */
		@Order(0)
		public String [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** @return a constant value for annotation value 'subgraph'.
		 @see javax.persistence.NamedAttributeNode#value() */
		@Order(6)
		public String [] subgraph() default {};
		
		/** @return expression to determine if the annotation value 'subgraph' shall be generated. Default is true. */
		@Order(7)
		public String subgraph_cond() default "";
		
		/** @return the expression language for the condition expression for 'subgraph'. */
		@Order(8)
		public String subgraph_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'subgraph' shall be generated. */
		@Order(9)
		public Class [] subgraph_condFun() default {};
		
		/** @return the src expression for generating annotation value 'subgraph'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String subgraph_src() default "";
		
		/** @return the expression for the value of annotation value 'subgraph'. 
		 Can be used as alternative to {@link subgraph()} if the value is not constant. */
		@Order(11)
		public String subgraph_expr() default "";
		
		/** @return a constant value for annotation value 'keySubgraph'.
		 @see javax.persistence.NamedAttributeNode#value() */
		@Order(12)
		public String [] keySubgraph() default {};
		
		/** @return expression to determine if the annotation value 'keySubgraph' shall be generated. Default is true. */
		@Order(13)
		public String keySubgraph_cond() default "";
		
		/** @return the expression language for the condition expression for 'keySubgraph'. */
		@Order(14)
		public String keySubgraph_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'keySubgraph' shall be generated. */
		@Order(15)
		public Class [] keySubgraph_condFun() default {};
		
		/** @return the src expression for generating annotation value 'keySubgraph'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String keySubgraph_src() default "";
		
		/** @return the expression for the value of annotation value 'keySubgraph'. 
		 Can be used as alternative to {@link keySubgraph()} if the value is not constant. */
		@Order(17)
		public String keySubgraph_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(18)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(19)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(20)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(21)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(22)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(23)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.ColumnResult}. */
	@AnnotationTemplate(targetAnnotation = ColumnResult.class)
	@Order(32)
	public static @interface ColumnResult_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.ColumnResult#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'type'.
		 @see javax.persistence.ColumnResult#value() */
		@Order(6)
		public Class [] type() default {};
		
		/** @return expression to determine if the annotation value 'type' shall be generated. Default is true. */
		@Order(7)
		public String type_cond() default "";
		
		/** @return the expression language for the condition expression for 'type'. */
		@Order(8)
		public String type_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'type' shall be generated. */
		@Order(9)
		public Class [] type_condFun() default {};
		
		/** @return the src expression for generating annotation value 'type'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String type_src() default "";
		
		/** @return the expression for the value of annotation value 'type'. 
		 Can be used as alternative to {@link type()} if the value is not constant. */
		@Order(11)
		public String type_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(12)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(13)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(14)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(15)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(16)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(17)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.OneToMany}. */
	@AnnotationTemplate(targetAnnotation = OneToMany.class)
	@Order(33)
	public static @interface OneToMany_ {
		/** @return a constant value for annotation value 'targetEntity'.
		 @see javax.persistence.OneToMany#value() */
		@Order(0)
		public Class [] targetEntity() default {};
		
		/** @return expression to determine if the annotation value 'targetEntity' shall be generated. Default is true. */
		@Order(1)
		public String targetEntity_cond() default "";
		
		/** @return the expression language for the condition expression for 'targetEntity'. */
		@Order(2)
		public String targetEntity_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'targetEntity' shall be generated. */
		@Order(3)
		public Class [] targetEntity_condFun() default {};
		
		/** @return the src expression for generating annotation value 'targetEntity'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String targetEntity_src() default "";
		
		/** @return the expression for the value of annotation value 'targetEntity'. 
		 Can be used as alternative to {@link targetEntity()} if the value is not constant. */
		@Order(5)
		public String targetEntity_expr() default "";
		
		/** @return a constant value for annotation value 'cascade'.
		 @see javax.persistence.OneToMany#value() */
		@Order(6)
		public CascadeType [] cascade() default {};
		
		/** @return expression to determine if the annotation value 'cascade' shall be generated. Default is true. */
		@Order(7)
		public String cascade_cond() default "";
		
		/** @return the expression language for the condition expression for 'cascade'. */
		@Order(8)
		public String cascade_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'cascade' shall be generated. */
		@Order(9)
		public Class [] cascade_condFun() default {};
		
		/** @return the src expression for generating annotation value 'cascade'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String cascade_src() default "";
		
		/** @return the expression for the value of annotation value 'cascade'. 
		 Can be used as alternative to {@link cascade()} if the value is not constant. */
		@Order(11)
		public String cascade_expr() default "";
		
		/** @return a constant value for annotation value 'fetch'.
		 @see javax.persistence.OneToMany#value() */
		@Order(12)
		public FetchType [] fetch() default {};
		
		/** @return expression to determine if the annotation value 'fetch' shall be generated. Default is true. */
		@Order(13)
		public String fetch_cond() default "";
		
		/** @return the expression language for the condition expression for 'fetch'. */
		@Order(14)
		public String fetch_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'fetch' shall be generated. */
		@Order(15)
		public Class [] fetch_condFun() default {};
		
		/** @return the src expression for generating annotation value 'fetch'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String fetch_src() default "";
		
		/** @return the expression for the value of annotation value 'fetch'. 
		 Can be used as alternative to {@link fetch()} if the value is not constant. */
		@Order(17)
		public String fetch_expr() default "";
		
		/** @return a constant value for annotation value 'mappedBy'.
		 @see javax.persistence.OneToMany#value() */
		@Order(18)
		public String [] mappedBy() default {};
		
		/** @return expression to determine if the annotation value 'mappedBy' shall be generated. Default is true. */
		@Order(19)
		public String mappedBy_cond() default "";
		
		/** @return the expression language for the condition expression for 'mappedBy'. */
		@Order(20)
		public String mappedBy_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'mappedBy' shall be generated. */
		@Order(21)
		public Class [] mappedBy_condFun() default {};
		
		/** @return the src expression for generating annotation value 'mappedBy'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String mappedBy_src() default "";
		
		/** @return the expression for the value of annotation value 'mappedBy'. 
		 Can be used as alternative to {@link mappedBy()} if the value is not constant. */
		@Order(23)
		public String mappedBy_expr() default "";
		
		/** @return a constant value for annotation value 'orphanRemoval'.
		 @see javax.persistence.OneToMany#value() */
		@Order(24)
		public boolean [] orphanRemoval() default {};
		
		/** @return expression to determine if the annotation value 'orphanRemoval' shall be generated. Default is true. */
		@Order(25)
		public String orphanRemoval_cond() default "";
		
		/** @return the expression language for the condition expression for 'orphanRemoval'. */
		@Order(26)
		public String orphanRemoval_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'orphanRemoval' shall be generated. */
		@Order(27)
		public Class [] orphanRemoval_condFun() default {};
		
		/** @return the src expression for generating annotation value 'orphanRemoval'. If this results in a collection, an array will be generated. */
		@Order(28)
		public String orphanRemoval_src() default "";
		
		/** @return the expression for the value of annotation value 'orphanRemoval'. 
		 Can be used as alternative to {@link orphanRemoval()} if the value is not constant. */
		@Order(29)
		public String orphanRemoval_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(30)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(31)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(32)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(33)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(34)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(35)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Lob}. */
	@AnnotationTemplate(targetAnnotation = Lob.class)
	@Order(34)
	public static @interface Lob_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.ExcludeDefaultListeners}. */
	@AnnotationTemplate(targetAnnotation = ExcludeDefaultListeners.class)
	@Order(35)
	public static @interface ExcludeDefaultListeners_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.QueryHint}. */
	@AnnotationTemplate(targetAnnotation = QueryHint.class)
	@Order(36)
	public static @interface QueryHint_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.QueryHint#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.QueryHint#value() */
		@Order(6)
		public String [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(7)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(8)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(9)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(11)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(12)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(13)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(14)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(15)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(16)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(17)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Basic}. */
	@AnnotationTemplate(targetAnnotation = Basic.class)
	@Order(37)
	public static @interface Basic_ {
		/** @return a constant value for annotation value 'fetch'.
		 @see javax.persistence.Basic#value() */
		@Order(0)
		public FetchType [] fetch() default {};
		
		/** @return expression to determine if the annotation value 'fetch' shall be generated. Default is true. */
		@Order(1)
		public String fetch_cond() default "";
		
		/** @return the expression language for the condition expression for 'fetch'. */
		@Order(2)
		public String fetch_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'fetch' shall be generated. */
		@Order(3)
		public Class [] fetch_condFun() default {};
		
		/** @return the src expression for generating annotation value 'fetch'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String fetch_src() default "";
		
		/** @return the expression for the value of annotation value 'fetch'. 
		 Can be used as alternative to {@link fetch()} if the value is not constant. */
		@Order(5)
		public String fetch_expr() default "";
		
		/** @return a constant value for annotation value 'optional'.
		 @see javax.persistence.Basic#value() */
		@Order(6)
		public boolean [] optional() default {};
		
		/** @return expression to determine if the annotation value 'optional' shall be generated. Default is true. */
		@Order(7)
		public String optional_cond() default "";
		
		/** @return the expression language for the condition expression for 'optional'. */
		@Order(8)
		public String optional_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'optional' shall be generated. */
		@Order(9)
		public Class [] optional_condFun() default {};
		
		/** @return the src expression for generating annotation value 'optional'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String optional_src() default "";
		
		/** @return the expression for the value of annotation value 'optional'. 
		 Can be used as alternative to {@link optional()} if the value is not constant. */
		@Order(11)
		public String optional_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(12)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(13)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(14)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(15)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(16)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(17)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.NamedStoredProcedureQuery}. */
	@AnnotationTemplate(targetAnnotation = NamedStoredProcedureQuery.class)
	@Order(38)
	public static @interface NamedStoredProcedureQuery_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.NamedStoredProcedureQuery#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'procedureName'.
		 @see javax.persistence.NamedStoredProcedureQuery#value() */
		@Order(6)
		public String [] procedureName() default {};
		
		/** @return expression to determine if the annotation value 'procedureName' shall be generated. Default is true. */
		@Order(7)
		public String procedureName_cond() default "";
		
		/** @return the expression language for the condition expression for 'procedureName'. */
		@Order(8)
		public String procedureName_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'procedureName' shall be generated. */
		@Order(9)
		public Class [] procedureName_condFun() default {};
		
		/** @return the src expression for generating annotation value 'procedureName'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String procedureName_src() default "";
		
		/** @return the expression for the value of annotation value 'procedureName'. 
		 Can be used as alternative to {@link procedureName()} if the value is not constant. */
		@Order(11)
		public String procedureName_expr() default "";
		
		/** @return a constant value for annotation value 'parameters'.
		 @see javax.persistence.NamedStoredProcedureQuery#value() */
		@Order(12)
		public StoredProcedureParameter [] parameters() default {};
		
		/** @return the annotation template to generate the value of annotation value 'parameters'. 
		 	Can be used as alternative to {@link parameters()} if the value is not constant. */
		@Order(13)
		public StoredProcedureParameter_ [] parameters_() default {};
		
		/** @return expression to determine if the annotation value 'parameters' shall be generated. Default is true. */
		@Order(14)
		public String parameters_cond() default "";
		
		/** @return the expression language for the condition expression for 'parameters'. */
		@Order(15)
		public String parameters_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'parameters' shall be generated. */
		@Order(16)
		public Class [] parameters_condFun() default {};
		
		/** @return the src expression for generating annotation value 'parameters'. If this results in a collection, an array will be generated. */
		@Order(17)
		public String parameters_src() default "";
		
		/** @return the expression for the value of annotation value 'parameters'. 
		 Can be used as alternative to {@link parameters()} if the value is not constant. */
		@Order(18)
		public String parameters_expr() default "";
		
		/** @return a constant value for annotation value 'resultClasses'.
		 @see javax.persistence.NamedStoredProcedureQuery#value() */
		@Order(19)
		public Class [] resultClasses() default {};
		
		/** @return expression to determine if the annotation value 'resultClasses' shall be generated. Default is true. */
		@Order(20)
		public String resultClasses_cond() default "";
		
		/** @return the expression language for the condition expression for 'resultClasses'. */
		@Order(21)
		public String resultClasses_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'resultClasses' shall be generated. */
		@Order(22)
		public Class [] resultClasses_condFun() default {};
		
		/** @return the src expression for generating annotation value 'resultClasses'. If this results in a collection, an array will be generated. */
		@Order(23)
		public String resultClasses_src() default "";
		
		/** @return the expression for the value of annotation value 'resultClasses'. 
		 Can be used as alternative to {@link resultClasses()} if the value is not constant. */
		@Order(24)
		public String resultClasses_expr() default "";
		
		/** @return a constant value for annotation value 'resultSetMappings'.
		 @see javax.persistence.NamedStoredProcedureQuery#value() */
		@Order(25)
		public String [] resultSetMappings() default {};
		
		/** @return expression to determine if the annotation value 'resultSetMappings' shall be generated. Default is true. */
		@Order(26)
		public String resultSetMappings_cond() default "";
		
		/** @return the expression language for the condition expression for 'resultSetMappings'. */
		@Order(27)
		public String resultSetMappings_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'resultSetMappings' shall be generated. */
		@Order(28)
		public Class [] resultSetMappings_condFun() default {};
		
		/** @return the src expression for generating annotation value 'resultSetMappings'. If this results in a collection, an array will be generated. */
		@Order(29)
		public String resultSetMappings_src() default "";
		
		/** @return the expression for the value of annotation value 'resultSetMappings'. 
		 Can be used as alternative to {@link resultSetMappings()} if the value is not constant. */
		@Order(30)
		public String resultSetMappings_expr() default "";
		
		/** @return a constant value for annotation value 'hints'.
		 @see javax.persistence.NamedStoredProcedureQuery#value() */
		@Order(31)
		public QueryHint [] hints() default {};
		
		/** @return the annotation template to generate the value of annotation value 'hints'. 
		 	Can be used as alternative to {@link hints()} if the value is not constant. */
		@Order(32)
		public QueryHint_ [] hints_() default {};
		
		/** @return expression to determine if the annotation value 'hints' shall be generated. Default is true. */
		@Order(33)
		public String hints_cond() default "";
		
		/** @return the expression language for the condition expression for 'hints'. */
		@Order(34)
		public String hints_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'hints' shall be generated. */
		@Order(35)
		public Class [] hints_condFun() default {};
		
		/** @return the src expression for generating annotation value 'hints'. If this results in a collection, an array will be generated. */
		@Order(36)
		public String hints_src() default "";
		
		/** @return the expression for the value of annotation value 'hints'. 
		 Can be used as alternative to {@link hints()} if the value is not constant. */
		@Order(37)
		public String hints_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(38)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(39)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(40)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(41)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(42)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(43)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.AssociationOverride}. */
	@AnnotationTemplate(targetAnnotation = AssociationOverride.class)
	@Order(39)
	public static @interface AssociationOverride_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.AssociationOverride#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'joinColumns'.
		 @see javax.persistence.AssociationOverride#value() */
		@Order(6)
		public JoinColumn [] joinColumns() default {};
		
		/** @return the annotation template to generate the value of annotation value 'joinColumns'. 
		 	Can be used as alternative to {@link joinColumns()} if the value is not constant. */
		@Order(7)
		public JoinColumn_ [] joinColumns_() default {};
		
		/** @return expression to determine if the annotation value 'joinColumns' shall be generated. Default is true. */
		@Order(8)
		public String joinColumns_cond() default "";
		
		/** @return the expression language for the condition expression for 'joinColumns'. */
		@Order(9)
		public String joinColumns_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'joinColumns' shall be generated. */
		@Order(10)
		public Class [] joinColumns_condFun() default {};
		
		/** @return the src expression for generating annotation value 'joinColumns'. If this results in a collection, an array will be generated. */
		@Order(11)
		public String joinColumns_src() default "";
		
		/** @return the expression for the value of annotation value 'joinColumns'. 
		 Can be used as alternative to {@link joinColumns()} if the value is not constant. */
		@Order(12)
		public String joinColumns_expr() default "";
		
		/** @return a constant value for annotation value 'joinTable'.
		 @see javax.persistence.AssociationOverride#value() */
		@Order(13)
		public JoinTable [] joinTable() default {};
		
		/** @return the annotation template to generate the value of annotation value 'joinTable'. 
		 	Can be used as alternative to {@link joinTable()} if the value is not constant. */
		@Order(14)
		public JoinTable_ [] joinTable_() default {};
		
		/** @return expression to determine if the annotation value 'joinTable' shall be generated. Default is true. */
		@Order(15)
		public String joinTable_cond() default "";
		
		/** @return the expression language for the condition expression for 'joinTable'. */
		@Order(16)
		public String joinTable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'joinTable' shall be generated. */
		@Order(17)
		public Class [] joinTable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'joinTable'. If this results in a collection, an array will be generated. */
		@Order(18)
		public String joinTable_src() default "";
		
		/** @return the expression for the value of annotation value 'joinTable'. 
		 Can be used as alternative to {@link joinTable()} if the value is not constant. */
		@Order(19)
		public String joinTable_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKey'.
		 @see javax.persistence.AssociationOverride#value() */
		@Order(20)
		public ForeignKey [] foreignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'foreignKey'. 
		 	Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(21)
		public ForeignKey_ [] foreignKey_() default {};
		
		/** @return expression to determine if the annotation value 'foreignKey' shall be generated. Default is true. */
		@Order(22)
		public String foreignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKey'. */
		@Order(23)
		public String foreignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKey' shall be generated. */
		@Order(24)
		public Class [] foreignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKey'. If this results in a collection, an array will be generated. */
		@Order(25)
		public String foreignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKey'. 
		 Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(26)
		public String foreignKey_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(27)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(28)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(29)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(30)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(31)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(32)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.IdClass}. */
	@AnnotationTemplate(targetAnnotation = IdClass.class)
	@Order(40)
	public static @interface IdClass_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.IdClass#value() */
		@Order(0)
		public Class [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PersistenceContext}. */
	@AnnotationTemplate(targetAnnotation = PersistenceContext.class)
	@Order(41)
	public static @interface PersistenceContext_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.PersistenceContext#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'unitName'.
		 @see javax.persistence.PersistenceContext#value() */
		@Order(6)
		public String [] unitName() default {};
		
		/** @return expression to determine if the annotation value 'unitName' shall be generated. Default is true. */
		@Order(7)
		public String unitName_cond() default "";
		
		/** @return the expression language for the condition expression for 'unitName'. */
		@Order(8)
		public String unitName_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'unitName' shall be generated. */
		@Order(9)
		public Class [] unitName_condFun() default {};
		
		/** @return the src expression for generating annotation value 'unitName'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String unitName_src() default "";
		
		/** @return the expression for the value of annotation value 'unitName'. 
		 Can be used as alternative to {@link unitName()} if the value is not constant. */
		@Order(11)
		public String unitName_expr() default "";
		
		/** @return a constant value for annotation value 'type'.
		 @see javax.persistence.PersistenceContext#value() */
		@Order(12)
		public PersistenceContextType [] type() default {};
		
		/** @return expression to determine if the annotation value 'type' shall be generated. Default is true. */
		@Order(13)
		public String type_cond() default "";
		
		/** @return the expression language for the condition expression for 'type'. */
		@Order(14)
		public String type_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'type' shall be generated. */
		@Order(15)
		public Class [] type_condFun() default {};
		
		/** @return the src expression for generating annotation value 'type'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String type_src() default "";
		
		/** @return the expression for the value of annotation value 'type'. 
		 Can be used as alternative to {@link type()} if the value is not constant. */
		@Order(17)
		public String type_expr() default "";
		
		/** @return a constant value for annotation value 'synchronization'.
		 @see javax.persistence.PersistenceContext#value() */
		@Order(18)
		public SynchronizationType [] synchronization() default {};
		
		/** @return expression to determine if the annotation value 'synchronization' shall be generated. Default is true. */
		@Order(19)
		public String synchronization_cond() default "";
		
		/** @return the expression language for the condition expression for 'synchronization'. */
		@Order(20)
		public String synchronization_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'synchronization' shall be generated. */
		@Order(21)
		public Class [] synchronization_condFun() default {};
		
		/** @return the src expression for generating annotation value 'synchronization'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String synchronization_src() default "";
		
		/** @return the expression for the value of annotation value 'synchronization'. 
		 Can be used as alternative to {@link synchronization()} if the value is not constant. */
		@Order(23)
		public String synchronization_expr() default "";
		
		/** @return a constant value for annotation value 'properties'.
		 @see javax.persistence.PersistenceContext#value() */
		@Order(24)
		public PersistenceProperty [] properties() default {};
		
		/** @return the annotation template to generate the value of annotation value 'properties'. 
		 	Can be used as alternative to {@link properties()} if the value is not constant. */
		@Order(25)
		public PersistenceProperty_ [] properties_() default {};
		
		/** @return expression to determine if the annotation value 'properties' shall be generated. Default is true. */
		@Order(26)
		public String properties_cond() default "";
		
		/** @return the expression language for the condition expression for 'properties'. */
		@Order(27)
		public String properties_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'properties' shall be generated. */
		@Order(28)
		public Class [] properties_condFun() default {};
		
		/** @return the src expression for generating annotation value 'properties'. If this results in a collection, an array will be generated. */
		@Order(29)
		public String properties_src() default "";
		
		/** @return the expression for the value of annotation value 'properties'. 
		 Can be used as alternative to {@link properties()} if the value is not constant. */
		@Order(30)
		public String properties_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(31)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(32)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(33)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(34)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(35)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(36)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PersistenceUnits}. */
	@AnnotationTemplate(targetAnnotation = PersistenceUnits.class)
	@Order(42)
	public static @interface PersistenceUnits_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.PersistenceUnits#value() */
		@Order(0)
		public PersistenceUnit [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public PersistenceUnit_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.AttributeOverrides}. */
	@AnnotationTemplate(targetAnnotation = AttributeOverrides.class)
	@Order(43)
	public static @interface AttributeOverrides_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.AttributeOverrides#value() */
		@Order(0)
		public AttributeOverride [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public AttributeOverride_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.ManyToOne}. */
	@AnnotationTemplate(targetAnnotation = ManyToOne.class)
	@Order(44)
	public static @interface ManyToOne_ {
		/** @return a constant value for annotation value 'targetEntity'.
		 @see javax.persistence.ManyToOne#value() */
		@Order(0)
		public Class [] targetEntity() default {};
		
		/** @return expression to determine if the annotation value 'targetEntity' shall be generated. Default is true. */
		@Order(1)
		public String targetEntity_cond() default "";
		
		/** @return the expression language for the condition expression for 'targetEntity'. */
		@Order(2)
		public String targetEntity_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'targetEntity' shall be generated. */
		@Order(3)
		public Class [] targetEntity_condFun() default {};
		
		/** @return the src expression for generating annotation value 'targetEntity'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String targetEntity_src() default "";
		
		/** @return the expression for the value of annotation value 'targetEntity'. 
		 Can be used as alternative to {@link targetEntity()} if the value is not constant. */
		@Order(5)
		public String targetEntity_expr() default "";
		
		/** @return a constant value for annotation value 'cascade'.
		 @see javax.persistence.ManyToOne#value() */
		@Order(6)
		public CascadeType [] cascade() default {};
		
		/** @return expression to determine if the annotation value 'cascade' shall be generated. Default is true. */
		@Order(7)
		public String cascade_cond() default "";
		
		/** @return the expression language for the condition expression for 'cascade'. */
		@Order(8)
		public String cascade_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'cascade' shall be generated. */
		@Order(9)
		public Class [] cascade_condFun() default {};
		
		/** @return the src expression for generating annotation value 'cascade'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String cascade_src() default "";
		
		/** @return the expression for the value of annotation value 'cascade'. 
		 Can be used as alternative to {@link cascade()} if the value is not constant. */
		@Order(11)
		public String cascade_expr() default "";
		
		/** @return a constant value for annotation value 'fetch'.
		 @see javax.persistence.ManyToOne#value() */
		@Order(12)
		public FetchType [] fetch() default {};
		
		/** @return expression to determine if the annotation value 'fetch' shall be generated. Default is true. */
		@Order(13)
		public String fetch_cond() default "";
		
		/** @return the expression language for the condition expression for 'fetch'. */
		@Order(14)
		public String fetch_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'fetch' shall be generated. */
		@Order(15)
		public Class [] fetch_condFun() default {};
		
		/** @return the src expression for generating annotation value 'fetch'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String fetch_src() default "";
		
		/** @return the expression for the value of annotation value 'fetch'. 
		 Can be used as alternative to {@link fetch()} if the value is not constant. */
		@Order(17)
		public String fetch_expr() default "";
		
		/** @return a constant value for annotation value 'optional'.
		 @see javax.persistence.ManyToOne#value() */
		@Order(18)
		public boolean [] optional() default {};
		
		/** @return expression to determine if the annotation value 'optional' shall be generated. Default is true. */
		@Order(19)
		public String optional_cond() default "";
		
		/** @return the expression language for the condition expression for 'optional'. */
		@Order(20)
		public String optional_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'optional' shall be generated. */
		@Order(21)
		public Class [] optional_condFun() default {};
		
		/** @return the src expression for generating annotation value 'optional'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String optional_src() default "";
		
		/** @return the expression for the value of annotation value 'optional'. 
		 Can be used as alternative to {@link optional()} if the value is not constant. */
		@Order(23)
		public String optional_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(24)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(25)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(26)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(27)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(28)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(29)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Access}. */
	@AnnotationTemplate(targetAnnotation = Access.class)
	@Order(45)
	public static @interface Access_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.Access#value() */
		@Order(0)
		public AccessType [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.TableGenerator}. */
	@AnnotationTemplate(targetAnnotation = TableGenerator.class)
	@Order(46)
	public static @interface TableGenerator_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'table'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(6)
		public String [] table() default {};
		
		/** @return expression to determine if the annotation value 'table' shall be generated. Default is true. */
		@Order(7)
		public String table_cond() default "";
		
		/** @return the expression language for the condition expression for 'table'. */
		@Order(8)
		public String table_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'table' shall be generated. */
		@Order(9)
		public Class [] table_condFun() default {};
		
		/** @return the src expression for generating annotation value 'table'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String table_src() default "";
		
		/** @return the expression for the value of annotation value 'table'. 
		 Can be used as alternative to {@link table()} if the value is not constant. */
		@Order(11)
		public String table_expr() default "";
		
		/** @return a constant value for annotation value 'catalog'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(12)
		public String [] catalog() default {};
		
		/** @return expression to determine if the annotation value 'catalog' shall be generated. Default is true. */
		@Order(13)
		public String catalog_cond() default "";
		
		/** @return the expression language for the condition expression for 'catalog'. */
		@Order(14)
		public String catalog_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'catalog' shall be generated. */
		@Order(15)
		public Class [] catalog_condFun() default {};
		
		/** @return the src expression for generating annotation value 'catalog'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String catalog_src() default "";
		
		/** @return the expression for the value of annotation value 'catalog'. 
		 Can be used as alternative to {@link catalog()} if the value is not constant. */
		@Order(17)
		public String catalog_expr() default "";
		
		/** @return a constant value for annotation value 'schema'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(18)
		public String [] schema() default {};
		
		/** @return expression to determine if the annotation value 'schema' shall be generated. Default is true. */
		@Order(19)
		public String schema_cond() default "";
		
		/** @return the expression language for the condition expression for 'schema'. */
		@Order(20)
		public String schema_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'schema' shall be generated. */
		@Order(21)
		public Class [] schema_condFun() default {};
		
		/** @return the src expression for generating annotation value 'schema'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String schema_src() default "";
		
		/** @return the expression for the value of annotation value 'schema'. 
		 Can be used as alternative to {@link schema()} if the value is not constant. */
		@Order(23)
		public String schema_expr() default "";
		
		/** @return a constant value for annotation value 'pkColumnName'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(24)
		public String [] pkColumnName() default {};
		
		/** @return expression to determine if the annotation value 'pkColumnName' shall be generated. Default is true. */
		@Order(25)
		public String pkColumnName_cond() default "";
		
		/** @return the expression language for the condition expression for 'pkColumnName'. */
		@Order(26)
		public String pkColumnName_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'pkColumnName' shall be generated. */
		@Order(27)
		public Class [] pkColumnName_condFun() default {};
		
		/** @return the src expression for generating annotation value 'pkColumnName'. If this results in a collection, an array will be generated. */
		@Order(28)
		public String pkColumnName_src() default "";
		
		/** @return the expression for the value of annotation value 'pkColumnName'. 
		 Can be used as alternative to {@link pkColumnName()} if the value is not constant. */
		@Order(29)
		public String pkColumnName_expr() default "";
		
		/** @return a constant value for annotation value 'valueColumnName'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(30)
		public String [] valueColumnName() default {};
		
		/** @return expression to determine if the annotation value 'valueColumnName' shall be generated. Default is true. */
		@Order(31)
		public String valueColumnName_cond() default "";
		
		/** @return the expression language for the condition expression for 'valueColumnName'. */
		@Order(32)
		public String valueColumnName_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'valueColumnName' shall be generated. */
		@Order(33)
		public Class [] valueColumnName_condFun() default {};
		
		/** @return the src expression for generating annotation value 'valueColumnName'. If this results in a collection, an array will be generated. */
		@Order(34)
		public String valueColumnName_src() default "";
		
		/** @return the expression for the value of annotation value 'valueColumnName'. 
		 Can be used as alternative to {@link valueColumnName()} if the value is not constant. */
		@Order(35)
		public String valueColumnName_expr() default "";
		
		/** @return a constant value for annotation value 'pkColumnValue'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(36)
		public String [] pkColumnValue() default {};
		
		/** @return expression to determine if the annotation value 'pkColumnValue' shall be generated. Default is true. */
		@Order(37)
		public String pkColumnValue_cond() default "";
		
		/** @return the expression language for the condition expression for 'pkColumnValue'. */
		@Order(38)
		public String pkColumnValue_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'pkColumnValue' shall be generated. */
		@Order(39)
		public Class [] pkColumnValue_condFun() default {};
		
		/** @return the src expression for generating annotation value 'pkColumnValue'. If this results in a collection, an array will be generated. */
		@Order(40)
		public String pkColumnValue_src() default "";
		
		/** @return the expression for the value of annotation value 'pkColumnValue'. 
		 Can be used as alternative to {@link pkColumnValue()} if the value is not constant. */
		@Order(41)
		public String pkColumnValue_expr() default "";
		
		/** @return a constant value for annotation value 'initialValue'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(42)
		public int [] initialValue() default {};
		
		/** @return expression to determine if the annotation value 'initialValue' shall be generated. Default is true. */
		@Order(43)
		public String initialValue_cond() default "";
		
		/** @return the expression language for the condition expression for 'initialValue'. */
		@Order(44)
		public String initialValue_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'initialValue' shall be generated. */
		@Order(45)
		public Class [] initialValue_condFun() default {};
		
		/** @return the src expression for generating annotation value 'initialValue'. If this results in a collection, an array will be generated. */
		@Order(46)
		public String initialValue_src() default "";
		
		/** @return the expression for the value of annotation value 'initialValue'. 
		 Can be used as alternative to {@link initialValue()} if the value is not constant. */
		@Order(47)
		public String initialValue_expr() default "";
		
		/** @return a constant value for annotation value 'allocationSize'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(48)
		public int [] allocationSize() default {};
		
		/** @return expression to determine if the annotation value 'allocationSize' shall be generated. Default is true. */
		@Order(49)
		public String allocationSize_cond() default "";
		
		/** @return the expression language for the condition expression for 'allocationSize'. */
		@Order(50)
		public String allocationSize_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'allocationSize' shall be generated. */
		@Order(51)
		public Class [] allocationSize_condFun() default {};
		
		/** @return the src expression for generating annotation value 'allocationSize'. If this results in a collection, an array will be generated. */
		@Order(52)
		public String allocationSize_src() default "";
		
		/** @return the expression for the value of annotation value 'allocationSize'. 
		 Can be used as alternative to {@link allocationSize()} if the value is not constant. */
		@Order(53)
		public String allocationSize_expr() default "";
		
		/** @return a constant value for annotation value 'uniqueConstraints'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(54)
		public UniqueConstraint [] uniqueConstraints() default {};
		
		/** @return the annotation template to generate the value of annotation value 'uniqueConstraints'. 
		 	Can be used as alternative to {@link uniqueConstraints()} if the value is not constant. */
		@Order(55)
		public UniqueConstraint_ [] uniqueConstraints_() default {};
		
		/** @return expression to determine if the annotation value 'uniqueConstraints' shall be generated. Default is true. */
		@Order(56)
		public String uniqueConstraints_cond() default "";
		
		/** @return the expression language for the condition expression for 'uniqueConstraints'. */
		@Order(57)
		public String uniqueConstraints_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'uniqueConstraints' shall be generated. */
		@Order(58)
		public Class [] uniqueConstraints_condFun() default {};
		
		/** @return the src expression for generating annotation value 'uniqueConstraints'. If this results in a collection, an array will be generated. */
		@Order(59)
		public String uniqueConstraints_src() default "";
		
		/** @return the expression for the value of annotation value 'uniqueConstraints'. 
		 Can be used as alternative to {@link uniqueConstraints()} if the value is not constant. */
		@Order(60)
		public String uniqueConstraints_expr() default "";
		
		/** @return a constant value for annotation value 'indexes'.
		 @see javax.persistence.TableGenerator#value() */
		@Order(61)
		public Index [] indexes() default {};
		
		/** @return the annotation template to generate the value of annotation value 'indexes'. 
		 	Can be used as alternative to {@link indexes()} if the value is not constant. */
		@Order(62)
		public Index_ [] indexes_() default {};
		
		/** @return expression to determine if the annotation value 'indexes' shall be generated. Default is true. */
		@Order(63)
		public String indexes_cond() default "";
		
		/** @return the expression language for the condition expression for 'indexes'. */
		@Order(64)
		public String indexes_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'indexes' shall be generated. */
		@Order(65)
		public Class [] indexes_condFun() default {};
		
		/** @return the src expression for generating annotation value 'indexes'. If this results in a collection, an array will be generated. */
		@Order(66)
		public String indexes_src() default "";
		
		/** @return the expression for the value of annotation value 'indexes'. 
		 Can be used as alternative to {@link indexes()} if the value is not constant. */
		@Order(67)
		public String indexes_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(68)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(69)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(70)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(71)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(72)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(73)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.NamedQueries}. */
	@AnnotationTemplate(targetAnnotation = NamedQueries.class)
	@Order(47)
	public static @interface NamedQueries_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.NamedQueries#value() */
		@Order(0)
		public NamedQuery [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public NamedQuery_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PostUpdate}. */
	@AnnotationTemplate(targetAnnotation = PostUpdate.class)
	@Order(48)
	public static @interface PostUpdate_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.NamedNativeQuery}. */
	@AnnotationTemplate(targetAnnotation = NamedNativeQuery.class)
	@Order(49)
	public static @interface NamedNativeQuery_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.NamedNativeQuery#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'query'.
		 @see javax.persistence.NamedNativeQuery#value() */
		@Order(6)
		public String [] query() default {};
		
		/** @return expression to determine if the annotation value 'query' shall be generated. Default is true. */
		@Order(7)
		public String query_cond() default "";
		
		/** @return the expression language for the condition expression for 'query'. */
		@Order(8)
		public String query_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'query' shall be generated. */
		@Order(9)
		public Class [] query_condFun() default {};
		
		/** @return the src expression for generating annotation value 'query'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String query_src() default "";
		
		/** @return the expression for the value of annotation value 'query'. 
		 Can be used as alternative to {@link query()} if the value is not constant. */
		@Order(11)
		public String query_expr() default "";
		
		/** @return a constant value for annotation value 'hints'.
		 @see javax.persistence.NamedNativeQuery#value() */
		@Order(12)
		public QueryHint [] hints() default {};
		
		/** @return the annotation template to generate the value of annotation value 'hints'. 
		 	Can be used as alternative to {@link hints()} if the value is not constant. */
		@Order(13)
		public QueryHint_ [] hints_() default {};
		
		/** @return expression to determine if the annotation value 'hints' shall be generated. Default is true. */
		@Order(14)
		public String hints_cond() default "";
		
		/** @return the expression language for the condition expression for 'hints'. */
		@Order(15)
		public String hints_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'hints' shall be generated. */
		@Order(16)
		public Class [] hints_condFun() default {};
		
		/** @return the src expression for generating annotation value 'hints'. If this results in a collection, an array will be generated. */
		@Order(17)
		public String hints_src() default "";
		
		/** @return the expression for the value of annotation value 'hints'. 
		 Can be used as alternative to {@link hints()} if the value is not constant. */
		@Order(18)
		public String hints_expr() default "";
		
		/** @return a constant value for annotation value 'resultClass'.
		 @see javax.persistence.NamedNativeQuery#value() */
		@Order(19)
		public Class [] resultClass() default {};
		
		/** @return expression to determine if the annotation value 'resultClass' shall be generated. Default is true. */
		@Order(20)
		public String resultClass_cond() default "";
		
		/** @return the expression language for the condition expression for 'resultClass'. */
		@Order(21)
		public String resultClass_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'resultClass' shall be generated. */
		@Order(22)
		public Class [] resultClass_condFun() default {};
		
		/** @return the src expression for generating annotation value 'resultClass'. If this results in a collection, an array will be generated. */
		@Order(23)
		public String resultClass_src() default "";
		
		/** @return the expression for the value of annotation value 'resultClass'. 
		 Can be used as alternative to {@link resultClass()} if the value is not constant. */
		@Order(24)
		public String resultClass_expr() default "";
		
		/** @return a constant value for annotation value 'resultSetMapping'.
		 @see javax.persistence.NamedNativeQuery#value() */
		@Order(25)
		public String [] resultSetMapping() default {};
		
		/** @return expression to determine if the annotation value 'resultSetMapping' shall be generated. Default is true. */
		@Order(26)
		public String resultSetMapping_cond() default "";
		
		/** @return the expression language for the condition expression for 'resultSetMapping'. */
		@Order(27)
		public String resultSetMapping_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'resultSetMapping' shall be generated. */
		@Order(28)
		public Class [] resultSetMapping_condFun() default {};
		
		/** @return the src expression for generating annotation value 'resultSetMapping'. If this results in a collection, an array will be generated. */
		@Order(29)
		public String resultSetMapping_src() default "";
		
		/** @return the expression for the value of annotation value 'resultSetMapping'. 
		 Can be used as alternative to {@link resultSetMapping()} if the value is not constant. */
		@Order(30)
		public String resultSetMapping_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(31)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(32)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(33)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(34)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(35)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(36)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.ConstructorResult}. */
	@AnnotationTemplate(targetAnnotation = ConstructorResult.class)
	@Order(50)
	public static @interface ConstructorResult_ {
		/** @return a constant value for annotation value 'targetClass'.
		 @see javax.persistence.ConstructorResult#value() */
		@Order(0)
		public Class [] targetClass() default {};
		
		/** @return expression to determine if the annotation value 'targetClass' shall be generated. Default is true. */
		@Order(1)
		public String targetClass_cond() default "";
		
		/** @return the expression language for the condition expression for 'targetClass'. */
		@Order(2)
		public String targetClass_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'targetClass' shall be generated. */
		@Order(3)
		public Class [] targetClass_condFun() default {};
		
		/** @return the src expression for generating annotation value 'targetClass'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String targetClass_src() default "";
		
		/** @return the expression for the value of annotation value 'targetClass'. 
		 Can be used as alternative to {@link targetClass()} if the value is not constant. */
		@Order(5)
		public String targetClass_expr() default "";
		
		/** @return a constant value for annotation value 'columns'.
		 @see javax.persistence.ConstructorResult#value() */
		@Order(6)
		public ColumnResult [] columns() default {};
		
		/** @return the annotation template to generate the value of annotation value 'columns'. 
		 	Can be used as alternative to {@link columns()} if the value is not constant. */
		@Order(7)
		public ColumnResult_ [] columns_() default {};
		
		/** @return expression to determine if the annotation value 'columns' shall be generated. Default is true. */
		@Order(8)
		public String columns_cond() default "";
		
		/** @return the expression language for the condition expression for 'columns'. */
		@Order(9)
		public String columns_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columns' shall be generated. */
		@Order(10)
		public Class [] columns_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columns'. If this results in a collection, an array will be generated. */
		@Order(11)
		public String columns_src() default "";
		
		/** @return the expression for the value of annotation value 'columns'. 
		 Can be used as alternative to {@link columns()} if the value is not constant. */
		@Order(12)
		public String columns_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(13)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(14)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(15)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(16)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(17)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(18)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.NamedEntityGraphs}. */
	@AnnotationTemplate(targetAnnotation = NamedEntityGraphs.class)
	@Order(51)
	public static @interface NamedEntityGraphs_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.NamedEntityGraphs#value() */
		@Order(0)
		public NamedEntityGraph [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public NamedEntityGraph_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.UniqueConstraint}. */
	@AnnotationTemplate(targetAnnotation = UniqueConstraint.class)
	@Order(52)
	public static @interface UniqueConstraint_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.UniqueConstraint#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'columnNames'.
		 @see javax.persistence.UniqueConstraint#value() */
		@Order(6)
		public String [] columnNames() default {};
		
		/** @return expression to determine if the annotation value 'columnNames' shall be generated. Default is true. */
		@Order(7)
		public String columnNames_cond() default "";
		
		/** @return the expression language for the condition expression for 'columnNames'. */
		@Order(8)
		public String columnNames_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columnNames' shall be generated. */
		@Order(9)
		public Class [] columnNames_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columnNames'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String columnNames_src() default "";
		
		/** @return the expression for the value of annotation value 'columnNames'. 
		 Can be used as alternative to {@link columnNames()} if the value is not constant. */
		@Order(11)
		public String columnNames_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(12)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(13)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(14)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(15)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(16)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(17)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.ElementCollection}. */
	@AnnotationTemplate(targetAnnotation = ElementCollection.class)
	@Order(53)
	public static @interface ElementCollection_ {
		/** @return a constant value for annotation value 'targetClass'.
		 @see javax.persistence.ElementCollection#value() */
		@Order(0)
		public Class [] targetClass() default {};
		
		/** @return expression to determine if the annotation value 'targetClass' shall be generated. Default is true. */
		@Order(1)
		public String targetClass_cond() default "";
		
		/** @return the expression language for the condition expression for 'targetClass'. */
		@Order(2)
		public String targetClass_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'targetClass' shall be generated. */
		@Order(3)
		public Class [] targetClass_condFun() default {};
		
		/** @return the src expression for generating annotation value 'targetClass'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String targetClass_src() default "";
		
		/** @return the expression for the value of annotation value 'targetClass'. 
		 Can be used as alternative to {@link targetClass()} if the value is not constant. */
		@Order(5)
		public String targetClass_expr() default "";
		
		/** @return a constant value for annotation value 'fetch'.
		 @see javax.persistence.ElementCollection#value() */
		@Order(6)
		public FetchType [] fetch() default {};
		
		/** @return expression to determine if the annotation value 'fetch' shall be generated. Default is true. */
		@Order(7)
		public String fetch_cond() default "";
		
		/** @return the expression language for the condition expression for 'fetch'. */
		@Order(8)
		public String fetch_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'fetch' shall be generated. */
		@Order(9)
		public Class [] fetch_condFun() default {};
		
		/** @return the src expression for generating annotation value 'fetch'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String fetch_src() default "";
		
		/** @return the expression for the value of annotation value 'fetch'. 
		 Can be used as alternative to {@link fetch()} if the value is not constant. */
		@Order(11)
		public String fetch_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(12)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(13)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(14)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(15)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(16)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(17)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.StoredProcedureParameter}. */
	@AnnotationTemplate(targetAnnotation = StoredProcedureParameter.class)
	@Order(54)
	public static @interface StoredProcedureParameter_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.StoredProcedureParameter#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'mode'.
		 @see javax.persistence.StoredProcedureParameter#value() */
		@Order(6)
		public ParameterMode [] mode() default {};
		
		/** @return expression to determine if the annotation value 'mode' shall be generated. Default is true. */
		@Order(7)
		public String mode_cond() default "";
		
		/** @return the expression language for the condition expression for 'mode'. */
		@Order(8)
		public String mode_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'mode' shall be generated. */
		@Order(9)
		public Class [] mode_condFun() default {};
		
		/** @return the src expression for generating annotation value 'mode'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String mode_src() default "";
		
		/** @return the expression for the value of annotation value 'mode'. 
		 Can be used as alternative to {@link mode()} if the value is not constant. */
		@Order(11)
		public String mode_expr() default "";
		
		/** @return a constant value for annotation value 'type'.
		 @see javax.persistence.StoredProcedureParameter#value() */
		@Order(12)
		public Class [] type() default {};
		
		/** @return expression to determine if the annotation value 'type' shall be generated. Default is true. */
		@Order(13)
		public String type_cond() default "";
		
		/** @return the expression language for the condition expression for 'type'. */
		@Order(14)
		public String type_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'type' shall be generated. */
		@Order(15)
		public Class [] type_condFun() default {};
		
		/** @return the src expression for generating annotation value 'type'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String type_src() default "";
		
		/** @return the expression for the value of annotation value 'type'. 
		 Can be used as alternative to {@link type()} if the value is not constant. */
		@Order(17)
		public String type_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(18)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(19)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(20)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(21)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(22)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(23)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.AttributeOverride}. */
	@AnnotationTemplate(targetAnnotation = AttributeOverride.class)
	@Order(55)
	public static @interface AttributeOverride_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.AttributeOverride#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'column'.
		 @see javax.persistence.AttributeOverride#value() */
		@Order(6)
		public Column [] column() default {};
		
		/** @return the annotation template to generate the value of annotation value 'column'. 
		 	Can be used as alternative to {@link column()} if the value is not constant. */
		@Order(7)
		public Column_ [] column_() default {};
		
		/** @return expression to determine if the annotation value 'column' shall be generated. Default is true. */
		@Order(8)
		public String column_cond() default "";
		
		/** @return the expression language for the condition expression for 'column'. */
		@Order(9)
		public String column_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'column' shall be generated. */
		@Order(10)
		public Class [] column_condFun() default {};
		
		/** @return the src expression for generating annotation value 'column'. If this results in a collection, an array will be generated. */
		@Order(11)
		public String column_src() default "";
		
		/** @return the expression for the value of annotation value 'column'. 
		 Can be used as alternative to {@link column()} if the value is not constant. */
		@Order(12)
		public String column_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(13)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(14)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(15)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(16)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(17)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(18)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PersistenceUnit}. */
	@AnnotationTemplate(targetAnnotation = PersistenceUnit.class)
	@Order(56)
	public static @interface PersistenceUnit_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.PersistenceUnit#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'unitName'.
		 @see javax.persistence.PersistenceUnit#value() */
		@Order(6)
		public String [] unitName() default {};
		
		/** @return expression to determine if the annotation value 'unitName' shall be generated. Default is true. */
		@Order(7)
		public String unitName_cond() default "";
		
		/** @return the expression language for the condition expression for 'unitName'. */
		@Order(8)
		public String unitName_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'unitName' shall be generated. */
		@Order(9)
		public Class [] unitName_condFun() default {};
		
		/** @return the src expression for generating annotation value 'unitName'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String unitName_src() default "";
		
		/** @return the expression for the value of annotation value 'unitName'. 
		 Can be used as alternative to {@link unitName()} if the value is not constant. */
		@Order(11)
		public String unitName_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(12)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(13)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(14)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(15)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(16)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(17)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PreUpdate}. */
	@AnnotationTemplate(targetAnnotation = PreUpdate.class)
	@Order(57)
	public static @interface PreUpdate_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Column}. */
	@AnnotationTemplate(targetAnnotation = Column.class)
	@Order(58)
	public static @interface Column_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.Column#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'unique'.
		 @see javax.persistence.Column#value() */
		@Order(6)
		public boolean [] unique() default {};
		
		/** @return expression to determine if the annotation value 'unique' shall be generated. Default is true. */
		@Order(7)
		public String unique_cond() default "";
		
		/** @return the expression language for the condition expression for 'unique'. */
		@Order(8)
		public String unique_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'unique' shall be generated. */
		@Order(9)
		public Class [] unique_condFun() default {};
		
		/** @return the src expression for generating annotation value 'unique'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String unique_src() default "";
		
		/** @return the expression for the value of annotation value 'unique'. 
		 Can be used as alternative to {@link unique()} if the value is not constant. */
		@Order(11)
		public String unique_expr() default "";
		
		/** @return a constant value for annotation value 'nullable'.
		 @see javax.persistence.Column#value() */
		@Order(12)
		public boolean [] nullable() default {};
		
		/** @return expression to determine if the annotation value 'nullable' shall be generated. Default is true. */
		@Order(13)
		public String nullable_cond() default "";
		
		/** @return the expression language for the condition expression for 'nullable'. */
		@Order(14)
		public String nullable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'nullable' shall be generated. */
		@Order(15)
		public Class [] nullable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'nullable'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String nullable_src() default "";
		
		/** @return the expression for the value of annotation value 'nullable'. 
		 Can be used as alternative to {@link nullable()} if the value is not constant. */
		@Order(17)
		public String nullable_expr() default "";
		
		/** @return a constant value for annotation value 'insertable'.
		 @see javax.persistence.Column#value() */
		@Order(18)
		public boolean [] insertable() default {};
		
		/** @return expression to determine if the annotation value 'insertable' shall be generated. Default is true. */
		@Order(19)
		public String insertable_cond() default "";
		
		/** @return the expression language for the condition expression for 'insertable'. */
		@Order(20)
		public String insertable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'insertable' shall be generated. */
		@Order(21)
		public Class [] insertable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'insertable'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String insertable_src() default "";
		
		/** @return the expression for the value of annotation value 'insertable'. 
		 Can be used as alternative to {@link insertable()} if the value is not constant. */
		@Order(23)
		public String insertable_expr() default "";
		
		/** @return a constant value for annotation value 'updatable'.
		 @see javax.persistence.Column#value() */
		@Order(24)
		public boolean [] updatable() default {};
		
		/** @return expression to determine if the annotation value 'updatable' shall be generated. Default is true. */
		@Order(25)
		public String updatable_cond() default "";
		
		/** @return the expression language for the condition expression for 'updatable'. */
		@Order(26)
		public String updatable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'updatable' shall be generated. */
		@Order(27)
		public Class [] updatable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'updatable'. If this results in a collection, an array will be generated. */
		@Order(28)
		public String updatable_src() default "";
		
		/** @return the expression for the value of annotation value 'updatable'. 
		 Can be used as alternative to {@link updatable()} if the value is not constant. */
		@Order(29)
		public String updatable_expr() default "";
		
		/** @return a constant value for annotation value 'columnDefinition'.
		 @see javax.persistence.Column#value() */
		@Order(30)
		public String [] columnDefinition() default {};
		
		/** @return expression to determine if the annotation value 'columnDefinition' shall be generated. Default is true. */
		@Order(31)
		public String columnDefinition_cond() default "";
		
		/** @return the expression language for the condition expression for 'columnDefinition'. */
		@Order(32)
		public String columnDefinition_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columnDefinition' shall be generated. */
		@Order(33)
		public Class [] columnDefinition_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columnDefinition'. If this results in a collection, an array will be generated. */
		@Order(34)
		public String columnDefinition_src() default "";
		
		/** @return the expression for the value of annotation value 'columnDefinition'. 
		 Can be used as alternative to {@link columnDefinition()} if the value is not constant. */
		@Order(35)
		public String columnDefinition_expr() default "";
		
		/** @return a constant value for annotation value 'table'.
		 @see javax.persistence.Column#value() */
		@Order(36)
		public String [] table() default {};
		
		/** @return expression to determine if the annotation value 'table' shall be generated. Default is true. */
		@Order(37)
		public String table_cond() default "";
		
		/** @return the expression language for the condition expression for 'table'. */
		@Order(38)
		public String table_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'table' shall be generated. */
		@Order(39)
		public Class [] table_condFun() default {};
		
		/** @return the src expression for generating annotation value 'table'. If this results in a collection, an array will be generated. */
		@Order(40)
		public String table_src() default "";
		
		/** @return the expression for the value of annotation value 'table'. 
		 Can be used as alternative to {@link table()} if the value is not constant. */
		@Order(41)
		public String table_expr() default "";
		
		/** @return a constant value for annotation value 'length'.
		 @see javax.persistence.Column#value() */
		@Order(42)
		public int [] length() default {};
		
		/** @return expression to determine if the annotation value 'length' shall be generated. Default is true. */
		@Order(43)
		public String length_cond() default "";
		
		/** @return the expression language for the condition expression for 'length'. */
		@Order(44)
		public String length_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'length' shall be generated. */
		@Order(45)
		public Class [] length_condFun() default {};
		
		/** @return the src expression for generating annotation value 'length'. If this results in a collection, an array will be generated. */
		@Order(46)
		public String length_src() default "";
		
		/** @return the expression for the value of annotation value 'length'. 
		 Can be used as alternative to {@link length()} if the value is not constant. */
		@Order(47)
		public String length_expr() default "";
		
		/** @return a constant value for annotation value 'precision'.
		 @see javax.persistence.Column#value() */
		@Order(48)
		public int [] precision() default {};
		
		/** @return expression to determine if the annotation value 'precision' shall be generated. Default is true. */
		@Order(49)
		public String precision_cond() default "";
		
		/** @return the expression language for the condition expression for 'precision'. */
		@Order(50)
		public String precision_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'precision' shall be generated. */
		@Order(51)
		public Class [] precision_condFun() default {};
		
		/** @return the src expression for generating annotation value 'precision'. If this results in a collection, an array will be generated. */
		@Order(52)
		public String precision_src() default "";
		
		/** @return the expression for the value of annotation value 'precision'. 
		 Can be used as alternative to {@link precision()} if the value is not constant. */
		@Order(53)
		public String precision_expr() default "";
		
		/** @return a constant value for annotation value 'scale'.
		 @see javax.persistence.Column#value() */
		@Order(54)
		public int [] scale() default {};
		
		/** @return expression to determine if the annotation value 'scale' shall be generated. Default is true. */
		@Order(55)
		public String scale_cond() default "";
		
		/** @return the expression language for the condition expression for 'scale'. */
		@Order(56)
		public String scale_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'scale' shall be generated. */
		@Order(57)
		public Class [] scale_condFun() default {};
		
		/** @return the src expression for generating annotation value 'scale'. If this results in a collection, an array will be generated. */
		@Order(58)
		public String scale_src() default "";
		
		/** @return the expression for the value of annotation value 'scale'. 
		 Can be used as alternative to {@link scale()} if the value is not constant. */
		@Order(59)
		public String scale_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(60)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(61)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(62)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(63)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(64)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(65)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.NamedEntityGraph}. */
	@AnnotationTemplate(targetAnnotation = NamedEntityGraph.class)
	@Order(59)
	public static @interface NamedEntityGraph_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.NamedEntityGraph#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'attributeNodes'.
		 @see javax.persistence.NamedEntityGraph#value() */
		@Order(6)
		public NamedAttributeNode [] attributeNodes() default {};
		
		/** @return the annotation template to generate the value of annotation value 'attributeNodes'. 
		 	Can be used as alternative to {@link attributeNodes()} if the value is not constant. */
		@Order(7)
		public NamedAttributeNode_ [] attributeNodes_() default {};
		
		/** @return expression to determine if the annotation value 'attributeNodes' shall be generated. Default is true. */
		@Order(8)
		public String attributeNodes_cond() default "";
		
		/** @return the expression language for the condition expression for 'attributeNodes'. */
		@Order(9)
		public String attributeNodes_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'attributeNodes' shall be generated. */
		@Order(10)
		public Class [] attributeNodes_condFun() default {};
		
		/** @return the src expression for generating annotation value 'attributeNodes'. If this results in a collection, an array will be generated. */
		@Order(11)
		public String attributeNodes_src() default "";
		
		/** @return the expression for the value of annotation value 'attributeNodes'. 
		 Can be used as alternative to {@link attributeNodes()} if the value is not constant. */
		@Order(12)
		public String attributeNodes_expr() default "";
		
		/** @return a constant value for annotation value 'includeAllAttributes'.
		 @see javax.persistence.NamedEntityGraph#value() */
		@Order(13)
		public boolean [] includeAllAttributes() default {};
		
		/** @return expression to determine if the annotation value 'includeAllAttributes' shall be generated. Default is true. */
		@Order(14)
		public String includeAllAttributes_cond() default "";
		
		/** @return the expression language for the condition expression for 'includeAllAttributes'. */
		@Order(15)
		public String includeAllAttributes_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'includeAllAttributes' shall be generated. */
		@Order(16)
		public Class [] includeAllAttributes_condFun() default {};
		
		/** @return the src expression for generating annotation value 'includeAllAttributes'. If this results in a collection, an array will be generated. */
		@Order(17)
		public String includeAllAttributes_src() default "";
		
		/** @return the expression for the value of annotation value 'includeAllAttributes'. 
		 Can be used as alternative to {@link includeAllAttributes()} if the value is not constant. */
		@Order(18)
		public String includeAllAttributes_expr() default "";
		
		/** @return a constant value for annotation value 'subgraphs'.
		 @see javax.persistence.NamedEntityGraph#value() */
		@Order(19)
		public NamedSubgraph [] subgraphs() default {};
		
		/** @return the annotation template to generate the value of annotation value 'subgraphs'. 
		 	Can be used as alternative to {@link subgraphs()} if the value is not constant. */
		@Order(20)
		public NamedSubgraph_ [] subgraphs_() default {};
		
		/** @return expression to determine if the annotation value 'subgraphs' shall be generated. Default is true. */
		@Order(21)
		public String subgraphs_cond() default "";
		
		/** @return the expression language for the condition expression for 'subgraphs'. */
		@Order(22)
		public String subgraphs_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'subgraphs' shall be generated. */
		@Order(23)
		public Class [] subgraphs_condFun() default {};
		
		/** @return the src expression for generating annotation value 'subgraphs'. If this results in a collection, an array will be generated. */
		@Order(24)
		public String subgraphs_src() default "";
		
		/** @return the expression for the value of annotation value 'subgraphs'. 
		 Can be used as alternative to {@link subgraphs()} if the value is not constant. */
		@Order(25)
		public String subgraphs_expr() default "";
		
		/** @return a constant value for annotation value 'subclassSubgraphs'.
		 @see javax.persistence.NamedEntityGraph#value() */
		@Order(26)
		public NamedSubgraph [] subclassSubgraphs() default {};
		
		/** @return the annotation template to generate the value of annotation value 'subclassSubgraphs'. 
		 	Can be used as alternative to {@link subclassSubgraphs()} if the value is not constant. */
		@Order(27)
		public NamedSubgraph_ [] subclassSubgraphs_() default {};
		
		/** @return expression to determine if the annotation value 'subclassSubgraphs' shall be generated. Default is true. */
		@Order(28)
		public String subclassSubgraphs_cond() default "";
		
		/** @return the expression language for the condition expression for 'subclassSubgraphs'. */
		@Order(29)
		public String subclassSubgraphs_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'subclassSubgraphs' shall be generated. */
		@Order(30)
		public Class [] subclassSubgraphs_condFun() default {};
		
		/** @return the src expression for generating annotation value 'subclassSubgraphs'. If this results in a collection, an array will be generated. */
		@Order(31)
		public String subclassSubgraphs_src() default "";
		
		/** @return the expression for the value of annotation value 'subclassSubgraphs'. 
		 Can be used as alternative to {@link subclassSubgraphs()} if the value is not constant. */
		@Order(32)
		public String subclassSubgraphs_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(33)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(34)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(35)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(36)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(37)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(38)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.SecondaryTables}. */
	@AnnotationTemplate(targetAnnotation = SecondaryTables.class)
	@Order(60)
	public static @interface SecondaryTables_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.SecondaryTables#value() */
		@Order(0)
		public SecondaryTable [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public SecondaryTable_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Id}. */
	@AnnotationTemplate(targetAnnotation = Id.class)
	@Order(61)
	public static @interface Id_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Index}. */
	@AnnotationTemplate(targetAnnotation = Index.class)
	@Order(62)
	public static @interface Index_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.Index#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'columnList'.
		 @see javax.persistence.Index#value() */
		@Order(6)
		public String [] columnList() default {};
		
		/** @return expression to determine if the annotation value 'columnList' shall be generated. Default is true. */
		@Order(7)
		public String columnList_cond() default "";
		
		/** @return the expression language for the condition expression for 'columnList'. */
		@Order(8)
		public String columnList_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columnList' shall be generated. */
		@Order(9)
		public Class [] columnList_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columnList'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String columnList_src() default "";
		
		/** @return the expression for the value of annotation value 'columnList'. 
		 Can be used as alternative to {@link columnList()} if the value is not constant. */
		@Order(11)
		public String columnList_expr() default "";
		
		/** @return a constant value for annotation value 'unique'.
		 @see javax.persistence.Index#value() */
		@Order(12)
		public boolean [] unique() default {};
		
		/** @return expression to determine if the annotation value 'unique' shall be generated. Default is true. */
		@Order(13)
		public String unique_cond() default "";
		
		/** @return the expression language for the condition expression for 'unique'. */
		@Order(14)
		public String unique_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'unique' shall be generated. */
		@Order(15)
		public Class [] unique_condFun() default {};
		
		/** @return the src expression for generating annotation value 'unique'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String unique_src() default "";
		
		/** @return the expression for the value of annotation value 'unique'. 
		 Can be used as alternative to {@link unique()} if the value is not constant. */
		@Order(17)
		public String unique_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(18)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(19)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(20)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(21)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(22)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(23)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Temporal}. */
	@AnnotationTemplate(targetAnnotation = Temporal.class)
	@Order(63)
	public static @interface Temporal_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.Temporal#value() */
		@Order(0)
		public TemporalType [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PrimaryKeyJoinColumn}. */
	@AnnotationTemplate(targetAnnotation = PrimaryKeyJoinColumn.class)
	@Order(64)
	public static @interface PrimaryKeyJoinColumn_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.PrimaryKeyJoinColumn#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'referencedColumnName'.
		 @see javax.persistence.PrimaryKeyJoinColumn#value() */
		@Order(6)
		public String [] referencedColumnName() default {};
		
		/** @return expression to determine if the annotation value 'referencedColumnName' shall be generated. Default is true. */
		@Order(7)
		public String referencedColumnName_cond() default "";
		
		/** @return the expression language for the condition expression for 'referencedColumnName'. */
		@Order(8)
		public String referencedColumnName_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'referencedColumnName' shall be generated. */
		@Order(9)
		public Class [] referencedColumnName_condFun() default {};
		
		/** @return the src expression for generating annotation value 'referencedColumnName'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String referencedColumnName_src() default "";
		
		/** @return the expression for the value of annotation value 'referencedColumnName'. 
		 Can be used as alternative to {@link referencedColumnName()} if the value is not constant. */
		@Order(11)
		public String referencedColumnName_expr() default "";
		
		/** @return a constant value for annotation value 'columnDefinition'.
		 @see javax.persistence.PrimaryKeyJoinColumn#value() */
		@Order(12)
		public String [] columnDefinition() default {};
		
		/** @return expression to determine if the annotation value 'columnDefinition' shall be generated. Default is true. */
		@Order(13)
		public String columnDefinition_cond() default "";
		
		/** @return the expression language for the condition expression for 'columnDefinition'. */
		@Order(14)
		public String columnDefinition_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columnDefinition' shall be generated. */
		@Order(15)
		public Class [] columnDefinition_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columnDefinition'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String columnDefinition_src() default "";
		
		/** @return the expression for the value of annotation value 'columnDefinition'. 
		 Can be used as alternative to {@link columnDefinition()} if the value is not constant. */
		@Order(17)
		public String columnDefinition_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKey'.
		 @see javax.persistence.PrimaryKeyJoinColumn#value() */
		@Order(18)
		public ForeignKey [] foreignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'foreignKey'. 
		 	Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(19)
		public ForeignKey_ [] foreignKey_() default {};
		
		/** @return expression to determine if the annotation value 'foreignKey' shall be generated. Default is true. */
		@Order(20)
		public String foreignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKey'. */
		@Order(21)
		public String foreignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKey' shall be generated. */
		@Order(22)
		public Class [] foreignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKey'. If this results in a collection, an array will be generated. */
		@Order(23)
		public String foreignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKey'. 
		 Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(24)
		public String foreignKey_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(25)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(26)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(27)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(28)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(29)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(30)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Cacheable}. */
	@AnnotationTemplate(targetAnnotation = Cacheable.class)
	@Order(65)
	public static @interface Cacheable_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.Cacheable#value() */
		@Order(0)
		public boolean [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PostPersist}. */
	@AnnotationTemplate(targetAnnotation = PostPersist.class)
	@Order(66)
	public static @interface PostPersist_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Converter}. */
	@AnnotationTemplate(targetAnnotation = Converter.class)
	@Order(67)
	public static @interface Converter_ {
		/** @return a constant value for annotation value 'autoApply'.
		 @see javax.persistence.Converter#value() */
		@Order(0)
		public boolean [] autoApply() default {};
		
		/** @return expression to determine if the annotation value 'autoApply' shall be generated. Default is true. */
		@Order(1)
		public String autoApply_cond() default "";
		
		/** @return the expression language for the condition expression for 'autoApply'. */
		@Order(2)
		public String autoApply_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'autoApply' shall be generated. */
		@Order(3)
		public Class [] autoApply_condFun() default {};
		
		/** @return the src expression for generating annotation value 'autoApply'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String autoApply_src() default "";
		
		/** @return the expression for the value of annotation value 'autoApply'. 
		 Can be used as alternative to {@link autoApply()} if the value is not constant. */
		@Order(5)
		public String autoApply_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Table}. */
	@AnnotationTemplate(targetAnnotation = Table.class)
	@Order(68)
	public static @interface Table_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.Table#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'catalog'.
		 @see javax.persistence.Table#value() */
		@Order(6)
		public String [] catalog() default {};
		
		/** @return expression to determine if the annotation value 'catalog' shall be generated. Default is true. */
		@Order(7)
		public String catalog_cond() default "";
		
		/** @return the expression language for the condition expression for 'catalog'. */
		@Order(8)
		public String catalog_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'catalog' shall be generated. */
		@Order(9)
		public Class [] catalog_condFun() default {};
		
		/** @return the src expression for generating annotation value 'catalog'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String catalog_src() default "";
		
		/** @return the expression for the value of annotation value 'catalog'. 
		 Can be used as alternative to {@link catalog()} if the value is not constant. */
		@Order(11)
		public String catalog_expr() default "";
		
		/** @return a constant value for annotation value 'schema'.
		 @see javax.persistence.Table#value() */
		@Order(12)
		public String [] schema() default {};
		
		/** @return expression to determine if the annotation value 'schema' shall be generated. Default is true. */
		@Order(13)
		public String schema_cond() default "";
		
		/** @return the expression language for the condition expression for 'schema'. */
		@Order(14)
		public String schema_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'schema' shall be generated. */
		@Order(15)
		public Class [] schema_condFun() default {};
		
		/** @return the src expression for generating annotation value 'schema'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String schema_src() default "";
		
		/** @return the expression for the value of annotation value 'schema'. 
		 Can be used as alternative to {@link schema()} if the value is not constant. */
		@Order(17)
		public String schema_expr() default "";
		
		/** @return a constant value for annotation value 'uniqueConstraints'.
		 @see javax.persistence.Table#value() */
		@Order(18)
		public UniqueConstraint [] uniqueConstraints() default {};
		
		/** @return the annotation template to generate the value of annotation value 'uniqueConstraints'. 
		 	Can be used as alternative to {@link uniqueConstraints()} if the value is not constant. */
		@Order(19)
		public UniqueConstraint_ [] uniqueConstraints_() default {};
		
		/** @return expression to determine if the annotation value 'uniqueConstraints' shall be generated. Default is true. */
		@Order(20)
		public String uniqueConstraints_cond() default "";
		
		/** @return the expression language for the condition expression for 'uniqueConstraints'. */
		@Order(21)
		public String uniqueConstraints_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'uniqueConstraints' shall be generated. */
		@Order(22)
		public Class [] uniqueConstraints_condFun() default {};
		
		/** @return the src expression for generating annotation value 'uniqueConstraints'. If this results in a collection, an array will be generated. */
		@Order(23)
		public String uniqueConstraints_src() default "";
		
		/** @return the expression for the value of annotation value 'uniqueConstraints'. 
		 Can be used as alternative to {@link uniqueConstraints()} if the value is not constant. */
		@Order(24)
		public String uniqueConstraints_expr() default "";
		
		/** @return a constant value for annotation value 'indexes'.
		 @see javax.persistence.Table#value() */
		@Order(25)
		public Index [] indexes() default {};
		
		/** @return the annotation template to generate the value of annotation value 'indexes'. 
		 	Can be used as alternative to {@link indexes()} if the value is not constant. */
		@Order(26)
		public Index_ [] indexes_() default {};
		
		/** @return expression to determine if the annotation value 'indexes' shall be generated. Default is true. */
		@Order(27)
		public String indexes_cond() default "";
		
		/** @return the expression language for the condition expression for 'indexes'. */
		@Order(28)
		public String indexes_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'indexes' shall be generated. */
		@Order(29)
		public Class [] indexes_condFun() default {};
		
		/** @return the src expression for generating annotation value 'indexes'. If this results in a collection, an array will be generated. */
		@Order(30)
		public String indexes_src() default "";
		
		/** @return the expression for the value of annotation value 'indexes'. 
		 Can be used as alternative to {@link indexes()} if the value is not constant. */
		@Order(31)
		public String indexes_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(32)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(33)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(34)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(35)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(36)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(37)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.EntityListeners}. */
	@AnnotationTemplate(targetAnnotation = EntityListeners.class)
	@Order(69)
	public static @interface EntityListeners_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.EntityListeners#value() */
		@Order(0)
		public Class [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Version}. */
	@AnnotationTemplate(targetAnnotation = Version.class)
	@Order(70)
	public static @interface Version_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.NamedSubgraph}. */
	@AnnotationTemplate(targetAnnotation = NamedSubgraph.class)
	@Order(71)
	public static @interface NamedSubgraph_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.NamedSubgraph#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'type'.
		 @see javax.persistence.NamedSubgraph#value() */
		@Order(6)
		public Class [] type() default {};
		
		/** @return expression to determine if the annotation value 'type' shall be generated. Default is true. */
		@Order(7)
		public String type_cond() default "";
		
		/** @return the expression language for the condition expression for 'type'. */
		@Order(8)
		public String type_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'type' shall be generated. */
		@Order(9)
		public Class [] type_condFun() default {};
		
		/** @return the src expression for generating annotation value 'type'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String type_src() default "";
		
		/** @return the expression for the value of annotation value 'type'. 
		 Can be used as alternative to {@link type()} if the value is not constant. */
		@Order(11)
		public String type_expr() default "";
		
		/** @return a constant value for annotation value 'attributeNodes'.
		 @see javax.persistence.NamedSubgraph#value() */
		@Order(12)
		public NamedAttributeNode [] attributeNodes() default {};
		
		/** @return the annotation template to generate the value of annotation value 'attributeNodes'. 
		 	Can be used as alternative to {@link attributeNodes()} if the value is not constant. */
		@Order(13)
		public NamedAttributeNode_ [] attributeNodes_() default {};
		
		/** @return expression to determine if the annotation value 'attributeNodes' shall be generated. Default is true. */
		@Order(14)
		public String attributeNodes_cond() default "";
		
		/** @return the expression language for the condition expression for 'attributeNodes'. */
		@Order(15)
		public String attributeNodes_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'attributeNodes' shall be generated. */
		@Order(16)
		public Class [] attributeNodes_condFun() default {};
		
		/** @return the src expression for generating annotation value 'attributeNodes'. If this results in a collection, an array will be generated. */
		@Order(17)
		public String attributeNodes_src() default "";
		
		/** @return the expression for the value of annotation value 'attributeNodes'. 
		 Can be used as alternative to {@link attributeNodes()} if the value is not constant. */
		@Order(18)
		public String attributeNodes_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(19)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(20)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(21)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(22)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(23)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(24)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.ExcludeSuperclassListeners}. */
	@AnnotationTemplate(targetAnnotation = ExcludeSuperclassListeners.class)
	@Order(72)
	public static @interface ExcludeSuperclassListeners_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.OrderColumn}. */
	@AnnotationTemplate(targetAnnotation = OrderColumn.class)
	@Order(73)
	public static @interface OrderColumn_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.OrderColumn#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'nullable'.
		 @see javax.persistence.OrderColumn#value() */
		@Order(6)
		public boolean [] nullable() default {};
		
		/** @return expression to determine if the annotation value 'nullable' shall be generated. Default is true. */
		@Order(7)
		public String nullable_cond() default "";
		
		/** @return the expression language for the condition expression for 'nullable'. */
		@Order(8)
		public String nullable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'nullable' shall be generated. */
		@Order(9)
		public Class [] nullable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'nullable'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String nullable_src() default "";
		
		/** @return the expression for the value of annotation value 'nullable'. 
		 Can be used as alternative to {@link nullable()} if the value is not constant. */
		@Order(11)
		public String nullable_expr() default "";
		
		/** @return a constant value for annotation value 'insertable'.
		 @see javax.persistence.OrderColumn#value() */
		@Order(12)
		public boolean [] insertable() default {};
		
		/** @return expression to determine if the annotation value 'insertable' shall be generated. Default is true. */
		@Order(13)
		public String insertable_cond() default "";
		
		/** @return the expression language for the condition expression for 'insertable'. */
		@Order(14)
		public String insertable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'insertable' shall be generated. */
		@Order(15)
		public Class [] insertable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'insertable'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String insertable_src() default "";
		
		/** @return the expression for the value of annotation value 'insertable'. 
		 Can be used as alternative to {@link insertable()} if the value is not constant. */
		@Order(17)
		public String insertable_expr() default "";
		
		/** @return a constant value for annotation value 'updatable'.
		 @see javax.persistence.OrderColumn#value() */
		@Order(18)
		public boolean [] updatable() default {};
		
		/** @return expression to determine if the annotation value 'updatable' shall be generated. Default is true. */
		@Order(19)
		public String updatable_cond() default "";
		
		/** @return the expression language for the condition expression for 'updatable'. */
		@Order(20)
		public String updatable_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'updatable' shall be generated. */
		@Order(21)
		public Class [] updatable_condFun() default {};
		
		/** @return the src expression for generating annotation value 'updatable'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String updatable_src() default "";
		
		/** @return the expression for the value of annotation value 'updatable'. 
		 Can be used as alternative to {@link updatable()} if the value is not constant. */
		@Order(23)
		public String updatable_expr() default "";
		
		/** @return a constant value for annotation value 'columnDefinition'.
		 @see javax.persistence.OrderColumn#value() */
		@Order(24)
		public String [] columnDefinition() default {};
		
		/** @return expression to determine if the annotation value 'columnDefinition' shall be generated. Default is true. */
		@Order(25)
		public String columnDefinition_cond() default "";
		
		/** @return the expression language for the condition expression for 'columnDefinition'. */
		@Order(26)
		public String columnDefinition_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columnDefinition' shall be generated. */
		@Order(27)
		public Class [] columnDefinition_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columnDefinition'. If this results in a collection, an array will be generated. */
		@Order(28)
		public String columnDefinition_src() default "";
		
		/** @return the expression for the value of annotation value 'columnDefinition'. 
		 Can be used as alternative to {@link columnDefinition()} if the value is not constant. */
		@Order(29)
		public String columnDefinition_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(30)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(31)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(32)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(33)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(34)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(35)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.DiscriminatorValue}. */
	@AnnotationTemplate(targetAnnotation = DiscriminatorValue.class)
	@Order(74)
	public static @interface DiscriminatorValue_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.DiscriminatorValue#value() */
		@Order(0)
		public String [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.MapKeyClass}. */
	@AnnotationTemplate(targetAnnotation = MapKeyClass.class)
	@Order(75)
	public static @interface MapKeyClass_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.MapKeyClass#value() */
		@Order(0)
		public Class [] value() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(1)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(2)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(3)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(5)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Embeddable}. */
	@AnnotationTemplate(targetAnnotation = Embeddable.class)
	@Order(76)
	public static @interface Embeddable_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.SqlResultSetMapping}. */
	@AnnotationTemplate(targetAnnotation = SqlResultSetMapping.class)
	@Order(77)
	public static @interface SqlResultSetMapping_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.SqlResultSetMapping#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'entities'.
		 @see javax.persistence.SqlResultSetMapping#value() */
		@Order(6)
		public EntityResult [] entities() default {};
		
		/** @return the annotation template to generate the value of annotation value 'entities'. 
		 	Can be used as alternative to {@link entities()} if the value is not constant. */
		@Order(7)
		public EntityResult_ [] entities_() default {};
		
		/** @return expression to determine if the annotation value 'entities' shall be generated. Default is true. */
		@Order(8)
		public String entities_cond() default "";
		
		/** @return the expression language for the condition expression for 'entities'. */
		@Order(9)
		public String entities_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'entities' shall be generated. */
		@Order(10)
		public Class [] entities_condFun() default {};
		
		/** @return the src expression for generating annotation value 'entities'. If this results in a collection, an array will be generated. */
		@Order(11)
		public String entities_src() default "";
		
		/** @return the expression for the value of annotation value 'entities'. 
		 Can be used as alternative to {@link entities()} if the value is not constant. */
		@Order(12)
		public String entities_expr() default "";
		
		/** @return a constant value for annotation value 'classes'.
		 @see javax.persistence.SqlResultSetMapping#value() */
		@Order(13)
		public ConstructorResult [] classes() default {};
		
		/** @return the annotation template to generate the value of annotation value 'classes'. 
		 	Can be used as alternative to {@link classes()} if the value is not constant. */
		@Order(14)
		public ConstructorResult_ [] classes_() default {};
		
		/** @return expression to determine if the annotation value 'classes' shall be generated. Default is true. */
		@Order(15)
		public String classes_cond() default "";
		
		/** @return the expression language for the condition expression for 'classes'. */
		@Order(16)
		public String classes_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'classes' shall be generated. */
		@Order(17)
		public Class [] classes_condFun() default {};
		
		/** @return the src expression for generating annotation value 'classes'. If this results in a collection, an array will be generated. */
		@Order(18)
		public String classes_src() default "";
		
		/** @return the expression for the value of annotation value 'classes'. 
		 Can be used as alternative to {@link classes()} if the value is not constant. */
		@Order(19)
		public String classes_expr() default "";
		
		/** @return a constant value for annotation value 'columns'.
		 @see javax.persistence.SqlResultSetMapping#value() */
		@Order(20)
		public ColumnResult [] columns() default {};
		
		/** @return the annotation template to generate the value of annotation value 'columns'. 
		 	Can be used as alternative to {@link columns()} if the value is not constant. */
		@Order(21)
		public ColumnResult_ [] columns_() default {};
		
		/** @return expression to determine if the annotation value 'columns' shall be generated. Default is true. */
		@Order(22)
		public String columns_cond() default "";
		
		/** @return the expression language for the condition expression for 'columns'. */
		@Order(23)
		public String columns_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columns' shall be generated. */
		@Order(24)
		public Class [] columns_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columns'. If this results in a collection, an array will be generated. */
		@Order(25)
		public String columns_src() default "";
		
		/** @return the expression for the value of annotation value 'columns'. 
		 Can be used as alternative to {@link columns()} if the value is not constant. */
		@Order(26)
		public String columns_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(27)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(28)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(29)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(30)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(31)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(32)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.JoinColumns}. */
	@AnnotationTemplate(targetAnnotation = JoinColumns.class)
	@Order(78)
	public static @interface JoinColumns_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.JoinColumns#value() */
		@Order(0)
		public JoinColumn [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public JoinColumn_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKey'.
		 @see javax.persistence.JoinColumns#value() */
		@Order(7)
		public ForeignKey [] foreignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'foreignKey'. 
		 	Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(8)
		public ForeignKey_ [] foreignKey_() default {};
		
		/** @return expression to determine if the annotation value 'foreignKey' shall be generated. Default is true. */
		@Order(9)
		public String foreignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKey'. */
		@Order(10)
		public String foreignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKey' shall be generated. */
		@Order(11)
		public Class [] foreignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKey'. If this results in a collection, an array will be generated. */
		@Order(12)
		public String foreignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKey'. 
		 Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(13)
		public String foreignKey_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(14)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(15)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(16)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(17)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(18)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(19)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.CollectionTable}. */
	@AnnotationTemplate(targetAnnotation = CollectionTable.class)
	@Order(79)
	public static @interface CollectionTable_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.CollectionTable#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'catalog'.
		 @see javax.persistence.CollectionTable#value() */
		@Order(6)
		public String [] catalog() default {};
		
		/** @return expression to determine if the annotation value 'catalog' shall be generated. Default is true. */
		@Order(7)
		public String catalog_cond() default "";
		
		/** @return the expression language for the condition expression for 'catalog'. */
		@Order(8)
		public String catalog_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'catalog' shall be generated. */
		@Order(9)
		public Class [] catalog_condFun() default {};
		
		/** @return the src expression for generating annotation value 'catalog'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String catalog_src() default "";
		
		/** @return the expression for the value of annotation value 'catalog'. 
		 Can be used as alternative to {@link catalog()} if the value is not constant. */
		@Order(11)
		public String catalog_expr() default "";
		
		/** @return a constant value for annotation value 'schema'.
		 @see javax.persistence.CollectionTable#value() */
		@Order(12)
		public String [] schema() default {};
		
		/** @return expression to determine if the annotation value 'schema' shall be generated. Default is true. */
		@Order(13)
		public String schema_cond() default "";
		
		/** @return the expression language for the condition expression for 'schema'. */
		@Order(14)
		public String schema_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'schema' shall be generated. */
		@Order(15)
		public Class [] schema_condFun() default {};
		
		/** @return the src expression for generating annotation value 'schema'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String schema_src() default "";
		
		/** @return the expression for the value of annotation value 'schema'. 
		 Can be used as alternative to {@link schema()} if the value is not constant. */
		@Order(17)
		public String schema_expr() default "";
		
		/** @return a constant value for annotation value 'joinColumns'.
		 @see javax.persistence.CollectionTable#value() */
		@Order(18)
		public JoinColumn [] joinColumns() default {};
		
		/** @return the annotation template to generate the value of annotation value 'joinColumns'. 
		 	Can be used as alternative to {@link joinColumns()} if the value is not constant. */
		@Order(19)
		public JoinColumn_ [] joinColumns_() default {};
		
		/** @return expression to determine if the annotation value 'joinColumns' shall be generated. Default is true. */
		@Order(20)
		public String joinColumns_cond() default "";
		
		/** @return the expression language for the condition expression for 'joinColumns'. */
		@Order(21)
		public String joinColumns_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'joinColumns' shall be generated. */
		@Order(22)
		public Class [] joinColumns_condFun() default {};
		
		/** @return the src expression for generating annotation value 'joinColumns'. If this results in a collection, an array will be generated. */
		@Order(23)
		public String joinColumns_src() default "";
		
		/** @return the expression for the value of annotation value 'joinColumns'. 
		 Can be used as alternative to {@link joinColumns()} if the value is not constant. */
		@Order(24)
		public String joinColumns_expr() default "";
		
		/** @return a constant value for annotation value 'uniqueConstraints'.
		 @see javax.persistence.CollectionTable#value() */
		@Order(25)
		public UniqueConstraint [] uniqueConstraints() default {};
		
		/** @return the annotation template to generate the value of annotation value 'uniqueConstraints'. 
		 	Can be used as alternative to {@link uniqueConstraints()} if the value is not constant. */
		@Order(26)
		public UniqueConstraint_ [] uniqueConstraints_() default {};
		
		/** @return expression to determine if the annotation value 'uniqueConstraints' shall be generated. Default is true. */
		@Order(27)
		public String uniqueConstraints_cond() default "";
		
		/** @return the expression language for the condition expression for 'uniqueConstraints'. */
		@Order(28)
		public String uniqueConstraints_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'uniqueConstraints' shall be generated. */
		@Order(29)
		public Class [] uniqueConstraints_condFun() default {};
		
		/** @return the src expression for generating annotation value 'uniqueConstraints'. If this results in a collection, an array will be generated. */
		@Order(30)
		public String uniqueConstraints_src() default "";
		
		/** @return the expression for the value of annotation value 'uniqueConstraints'. 
		 Can be used as alternative to {@link uniqueConstraints()} if the value is not constant. */
		@Order(31)
		public String uniqueConstraints_expr() default "";
		
		/** @return a constant value for annotation value 'indexes'.
		 @see javax.persistence.CollectionTable#value() */
		@Order(32)
		public Index [] indexes() default {};
		
		/** @return the annotation template to generate the value of annotation value 'indexes'. 
		 	Can be used as alternative to {@link indexes()} if the value is not constant. */
		@Order(33)
		public Index_ [] indexes_() default {};
		
		/** @return expression to determine if the annotation value 'indexes' shall be generated. Default is true. */
		@Order(34)
		public String indexes_cond() default "";
		
		/** @return the expression language for the condition expression for 'indexes'. */
		@Order(35)
		public String indexes_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'indexes' shall be generated. */
		@Order(36)
		public Class [] indexes_condFun() default {};
		
		/** @return the src expression for generating annotation value 'indexes'. If this results in a collection, an array will be generated. */
		@Order(37)
		public String indexes_src() default "";
		
		/** @return the expression for the value of annotation value 'indexes'. 
		 Can be used as alternative to {@link indexes()} if the value is not constant. */
		@Order(38)
		public String indexes_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKey'.
		 @see javax.persistence.CollectionTable#value() */
		@Order(39)
		public ForeignKey [] foreignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'foreignKey'. 
		 	Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(40)
		public ForeignKey_ [] foreignKey_() default {};
		
		/** @return expression to determine if the annotation value 'foreignKey' shall be generated. Default is true. */
		@Order(41)
		public String foreignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKey'. */
		@Order(42)
		public String foreignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKey' shall be generated. */
		@Order(43)
		public Class [] foreignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKey'. If this results in a collection, an array will be generated. */
		@Order(44)
		public String foreignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKey'. 
		 Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(45)
		public String foreignKey_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(46)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(47)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(48)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(49)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(50)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(51)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.MapKey}. */
	@AnnotationTemplate(targetAnnotation = MapKey.class)
	@Order(80)
	public static @interface MapKey_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.MapKey#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(6)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(7)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(8)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(9)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(10)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(11)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.DiscriminatorColumn}. */
	@AnnotationTemplate(targetAnnotation = DiscriminatorColumn.class)
	@Order(81)
	public static @interface DiscriminatorColumn_ {
		/** @return a constant value for annotation value 'name'.
		 @see javax.persistence.DiscriminatorColumn#value() */
		@Order(0)
		public String [] name() default {};
		
		/** @return expression to determine if the annotation value 'name' shall be generated. Default is true. */
		@Order(1)
		public String name_cond() default "";
		
		/** @return the expression language for the condition expression for 'name'. */
		@Order(2)
		public String name_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'name' shall be generated. */
		@Order(3)
		public Class [] name_condFun() default {};
		
		/** @return the src expression for generating annotation value 'name'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String name_src() default "";
		
		/** @return the expression for the value of annotation value 'name'. 
		 Can be used as alternative to {@link name()} if the value is not constant. */
		@Order(5)
		public String name_expr() default "";
		
		/** @return a constant value for annotation value 'discriminatorType'.
		 @see javax.persistence.DiscriminatorColumn#value() */
		@Order(6)
		public DiscriminatorType [] discriminatorType() default {};
		
		/** @return expression to determine if the annotation value 'discriminatorType' shall be generated. Default is true. */
		@Order(7)
		public String discriminatorType_cond() default "";
		
		/** @return the expression language for the condition expression for 'discriminatorType'. */
		@Order(8)
		public String discriminatorType_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'discriminatorType' shall be generated. */
		@Order(9)
		public Class [] discriminatorType_condFun() default {};
		
		/** @return the src expression for generating annotation value 'discriminatorType'. If this results in a collection, an array will be generated. */
		@Order(10)
		public String discriminatorType_src() default "";
		
		/** @return the expression for the value of annotation value 'discriminatorType'. 
		 Can be used as alternative to {@link discriminatorType()} if the value is not constant. */
		@Order(11)
		public String discriminatorType_expr() default "";
		
		/** @return a constant value for annotation value 'columnDefinition'.
		 @see javax.persistence.DiscriminatorColumn#value() */
		@Order(12)
		public String [] columnDefinition() default {};
		
		/** @return expression to determine if the annotation value 'columnDefinition' shall be generated. Default is true. */
		@Order(13)
		public String columnDefinition_cond() default "";
		
		/** @return the expression language for the condition expression for 'columnDefinition'. */
		@Order(14)
		public String columnDefinition_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'columnDefinition' shall be generated. */
		@Order(15)
		public Class [] columnDefinition_condFun() default {};
		
		/** @return the src expression for generating annotation value 'columnDefinition'. If this results in a collection, an array will be generated. */
		@Order(16)
		public String columnDefinition_src() default "";
		
		/** @return the expression for the value of annotation value 'columnDefinition'. 
		 Can be used as alternative to {@link columnDefinition()} if the value is not constant. */
		@Order(17)
		public String columnDefinition_expr() default "";
		
		/** @return a constant value for annotation value 'length'.
		 @see javax.persistence.DiscriminatorColumn#value() */
		@Order(18)
		public int [] length() default {};
		
		/** @return expression to determine if the annotation value 'length' shall be generated. Default is true. */
		@Order(19)
		public String length_cond() default "";
		
		/** @return the expression language for the condition expression for 'length'. */
		@Order(20)
		public String length_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'length' shall be generated. */
		@Order(21)
		public Class [] length_condFun() default {};
		
		/** @return the src expression for generating annotation value 'length'. If this results in a collection, an array will be generated. */
		@Order(22)
		public String length_src() default "";
		
		/** @return the expression for the value of annotation value 'length'. 
		 Can be used as alternative to {@link length()} if the value is not constant. */
		@Order(23)
		public String length_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(24)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(25)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(26)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(27)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(28)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(29)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PostLoad}. */
	@AnnotationTemplate(targetAnnotation = PostLoad.class)
	@Order(82)
	public static @interface PostLoad_ {
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(0)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(1)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(2)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(3)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(4)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(5)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.AssociationOverrides}. */
	@AnnotationTemplate(targetAnnotation = AssociationOverrides.class)
	@Order(83)
	public static @interface AssociationOverrides_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.AssociationOverrides#value() */
		@Order(0)
		public AssociationOverride [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public AssociationOverride_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.Converts}. */
	@AnnotationTemplate(targetAnnotation = Converts.class)
	@Order(84)
	public static @interface Converts_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.Converts#value() */
		@Order(0)
		public Convert [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public Convert_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.MapKeyJoinColumns}. */
	@AnnotationTemplate(targetAnnotation = MapKeyJoinColumns.class)
	@Order(85)
	public static @interface MapKeyJoinColumns_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.MapKeyJoinColumns#value() */
		@Order(0)
		public MapKeyJoinColumn [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public MapKeyJoinColumn_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** @return a constant value for annotation value 'foreignKey'.
		 @see javax.persistence.MapKeyJoinColumns#value() */
		@Order(7)
		public ForeignKey [] foreignKey() default {};
		
		/** @return the annotation template to generate the value of annotation value 'foreignKey'. 
		 	Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(8)
		public ForeignKey_ [] foreignKey_() default {};
		
		/** @return expression to determine if the annotation value 'foreignKey' shall be generated. Default is true. */
		@Order(9)
		public String foreignKey_cond() default "";
		
		/** @return the expression language for the condition expression for 'foreignKey'. */
		@Order(10)
		public String foreignKey_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'foreignKey' shall be generated. */
		@Order(11)
		public Class [] foreignKey_condFun() default {};
		
		/** @return the src expression for generating annotation value 'foreignKey'. If this results in a collection, an array will be generated. */
		@Order(12)
		public String foreignKey_src() default "";
		
		/** @return the expression for the value of annotation value 'foreignKey'. 
		 Can be used as alternative to {@link foreignKey()} if the value is not constant. */
		@Order(13)
		public String foreignKey_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(14)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(15)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(16)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(17)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(18)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(19)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.NamedStoredProcedureQueries}. */
	@AnnotationTemplate(targetAnnotation = NamedStoredProcedureQueries.class)
	@Order(86)
	public static @interface NamedStoredProcedureQueries_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.NamedStoredProcedureQueries#value() */
		@Order(0)
		public NamedStoredProcedureQuery [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public NamedStoredProcedureQuery_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.EntityResult}. */
	@AnnotationTemplate(targetAnnotation = EntityResult.class)
	@Order(87)
	public static @interface EntityResult_ {
		/** @return a constant value for annotation value 'entityClass'.
		 @see javax.persistence.EntityResult#value() */
		@Order(0)
		public Class [] entityClass() default {};
		
		/** @return expression to determine if the annotation value 'entityClass' shall be generated. Default is true. */
		@Order(1)
		public String entityClass_cond() default "";
		
		/** @return the expression language for the condition expression for 'entityClass'. */
		@Order(2)
		public String entityClass_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'entityClass' shall be generated. */
		@Order(3)
		public Class [] entityClass_condFun() default {};
		
		/** @return the src expression for generating annotation value 'entityClass'. If this results in a collection, an array will be generated. */
		@Order(4)
		public String entityClass_src() default "";
		
		/** @return the expression for the value of annotation value 'entityClass'. 
		 Can be used as alternative to {@link entityClass()} if the value is not constant. */
		@Order(5)
		public String entityClass_expr() default "";
		
		/** @return a constant value for annotation value 'fields'.
		 @see javax.persistence.EntityResult#value() */
		@Order(6)
		public FieldResult [] fields() default {};
		
		/** @return the annotation template to generate the value of annotation value 'fields'. 
		 	Can be used as alternative to {@link fields()} if the value is not constant. */
		@Order(7)
		public FieldResult_ [] fields_() default {};
		
		/** @return expression to determine if the annotation value 'fields' shall be generated. Default is true. */
		@Order(8)
		public String fields_cond() default "";
		
		/** @return the expression language for the condition expression for 'fields'. */
		@Order(9)
		public String fields_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'fields' shall be generated. */
		@Order(10)
		public Class [] fields_condFun() default {};
		
		/** @return the src expression for generating annotation value 'fields'. If this results in a collection, an array will be generated. */
		@Order(11)
		public String fields_src() default "";
		
		/** @return the expression for the value of annotation value 'fields'. 
		 Can be used as alternative to {@link fields()} if the value is not constant. */
		@Order(12)
		public String fields_expr() default "";
		
		/** @return a constant value for annotation value 'discriminatorColumn'.
		 @see javax.persistence.EntityResult#value() */
		@Order(13)
		public String [] discriminatorColumn() default {};
		
		/** @return expression to determine if the annotation value 'discriminatorColumn' shall be generated. Default is true. */
		@Order(14)
		public String discriminatorColumn_cond() default "";
		
		/** @return the expression language for the condition expression for 'discriminatorColumn'. */
		@Order(15)
		public String discriminatorColumn_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'discriminatorColumn' shall be generated. */
		@Order(16)
		public Class [] discriminatorColumn_condFun() default {};
		
		/** @return the src expression for generating annotation value 'discriminatorColumn'. If this results in a collection, an array will be generated. */
		@Order(17)
		public String discriminatorColumn_src() default "";
		
		/** @return the expression for the value of annotation value 'discriminatorColumn'. 
		 Can be used as alternative to {@link discriminatorColumn()} if the value is not constant. */
		@Order(18)
		public String discriminatorColumn_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(19)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(20)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(21)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(22)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(23)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(24)
		public Class [] _condFun() default {};
		
	}
	
	/** This annotation template will generate an annotation of type {@link javax.persistence.PersistenceContexts}. */
	@AnnotationTemplate(targetAnnotation = PersistenceContexts.class)
	@Order(88)
	public static @interface PersistenceContexts_ {
		/** @return a constant value for annotation value 'value'.
		 @see javax.persistence.PersistenceContexts#value() */
		@Order(0)
		public PersistenceContext [] value() default {};
		
		/** @return the annotation template to generate the value of annotation value 'value'. 
		 	Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(1)
		public PersistenceContext_ [] value_() default {};
		
		/** @return expression to determine if the annotation value 'value' shall be generated. Default is true. */
		@Order(2)
		public String value_cond() default "";
		
		/** @return the expression language for the condition expression for 'value'. */
		@Order(3)
		public String value_condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called to determine if the annotation value 'value' shall be generated. */
		@Order(4)
		public Class [] value_condFun() default {};
		
		/** @return the src expression for generating annotation value 'value'. If this results in a collection, an array will be generated. */
		@Order(5)
		public String value_src() default "";
		
		/** @return the expression for the value of annotation value 'value'. 
		 Can be used as alternative to {@link value()} if the value is not constant. */
		@Order(6)
		public String value_expr() default "";
		
		/** An expression to determine the source object for generating this annotation(s).
		 The source element is available as "src" in expressions and is used in
		 matchers and other rules. If the src expression is not set, the src
		 element of the element hosting the annotation is used.
		 @return */
		@Order(7)
		public String _src() default "";
		
		/** @return the language of the src expression. Defaults to Java EL. */
		@Order(8)
		public String _srcLang() default "";
		
		/** As an alternative to the src expression, a function can be called to determine the source object.
		 
		 @return */
		@Order(9)
		public Class [] _srcFun() default {};
		
		/** @return expression to determine if the annotation shall be generated. Default is true. */
		@Order(10)
		public String _cond() default "";
		
		/** @return the expression language for the condition expression. */
		@Order(11)
		public String _condLang() default "";
		
		/** @return as an alternative to the cond expression, a boolean function can be called. */
		@Order(12)
		public Class [] _condFun() default {};
		
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy