public class VmValueGeneration extends java.lang.Object implements AnnotationValueGeneration<GeneratorType>
AnnotationValueGeneration
which allows to specify the ValueGenerator
to be used to determine the
value of the annotated property.Constructor and Description |
---|
VmValueGeneration() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getDatabaseGeneratedReferencedColumnValue()
For values which are generated in the database (
ValueGeneration.getValueGenerator() == null ), if the
column will be referenced in the SQL (ValueGeneration.referenceColumnInSql() == true ), what value should be
used in the SQL as the column value. |
GenerationTiming |
getGenerationTiming()
When is this value generated : NEVER, INSERT, ALWAYS (INSERT+UPDATE)
|
ValueGenerator<?> |
getValueGenerator()
Obtain the in-VM value generator.
|
void |
initialize(GeneratorType annotation,
java.lang.Class<?> propertyType)
Initializes this generation strategy for the given annotation instance.
|
boolean |
referenceColumnInSql()
For values which are generated in the database (
ValueGeneration.getValueGenerator() == null ), should the
column be referenced in the INSERT / UPDATE SQL?
This will be false most often to have a DDL-defined DEFAULT value be applied on INSERT |
public void initialize(GeneratorType annotation, java.lang.Class<?> propertyType)
AnnotationValueGeneration
initialize
in interface AnnotationValueGeneration<GeneratorType>
annotation
- an instance of the strategy's annotation type. Typically implementations will retrieve the
annotation's attribute values and store them in fields.propertyType
- the type of the property annotated with the generator annotation. Implementations may use
the type to determine the right ValueGenerator
to be applied.public GenerationTiming getGenerationTiming()
ValueGeneration
getGenerationTiming
in interface ValueGeneration
public ValueGenerator<?> getValueGenerator()
ValueGeneration
null
. In fact for values that are generated "in the database" via execution of the
INSERT/UPDATE statement, the expectation is that null
be returned heregetValueGenerator
in interface ValueGeneration
public boolean referenceColumnInSql()
ValueGeneration
ValueGeneration.getValueGenerator()
== null
), should the
column be referenced in the INSERT / UPDATE SQL?
This will be false most often to have a DDL-defined DEFAULT value be applied on INSERTreferenceColumnInSql
in interface ValueGeneration
true
indicates the column should be included in the SQL.public java.lang.String getDatabaseGeneratedReferencedColumnValue()
ValueGeneration
ValueGeneration.getValueGenerator()
== null
), if the
column will be referenced in the SQL (ValueGeneration.referenceColumnInSql()
== true
), what value should be
used in the SQL as the column value.
Generally this will be a function call or a marker (DEFAULTS).
NOTE : for in-VM generation, this will not be called and the column value will implicitly be a JDBC parameter ('?')getDatabaseGeneratedReferencedColumnValue
in interface ValueGeneration
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.