Package org.hibernate.generator.internal
Class CurrentTimestampGeneration
java.lang.Object
org.hibernate.generator.internal.CurrentTimestampGeneration
- All Implemented Interfaces:
Serializable,BeforeExecutionGenerator,Generator,OnExecutionGenerator
public class CurrentTimestampGeneration
extends Object
implements BeforeExecutionGenerator, OnExecutionGenerator
Value generation strategy which produces a timestamp using the database
current_timestamp function or the JVM
current instant.
Underlies the CurrentTimestamp, CreationTimestamp, and
UpdateTimestamp annotations.
- Since:
- 6.0
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCurrentTimestampGeneration(CreationTimestamp annotation, Member member, GeneratorCreationContext context) CurrentTimestampGeneration(CurrentTimestamp annotation, Member member, GeneratorCreationContext context) CurrentTimestampGeneration(UpdateTimestamp annotation, Member member, GeneratorCreationContext context) -
Method Summary
Modifier and TypeMethodDescriptiongenerate(SharedSessionContractImplementor session, Object owner, Object currentValue, EventType eventType) Generate a value.booleanDetermines if the property value is generated when a row is written to the database, or in Java code that executes before the row is written.static <T extends Clock>
TgetClock(SessionFactory sessionFactory) The event types for which this generator should be called to produce a new value.String[]getReferencedColumnValues(Dialect dialect) A SQL expression indicating how to calculate the generated values when the mapped columns are included in the SQL statement.booleanreferenceColumnsInSql(Dialect dialect) Determines if the columns whose values are generated are included in the column list of the SQLinsertorupdatestatement.booleanDetermines if the property values are written to JDBC as the argument of a JDBC?parameter.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.generator.Generator
allowAssignedIdentifiers, allowMutation, generatedBeforeExecution, generatedOnExecution, generatesOnForceIncrement, generatesOnInsert, generatesOnUpdate, generatesSometimesMethods inherited from interface org.hibernate.generator.OnExecutionGenerator
getGeneratedIdentifierDelegate, getUniqueKeyPropertyNames
-
Field Details
-
CLOCK_SETTING_NAME
Configuration property name to set a customClockfor Hibernate ORM to use when generating VM based timestamp values for e.g.CurrentTimestamp,CreationTimestamp,UpdateTimestampandVersionJavaTypemethods.- Since:
- 6.6
- See Also:
-
-
Constructor Details
-
CurrentTimestampGeneration
public CurrentTimestampGeneration(CurrentTimestamp annotation, Member member, GeneratorCreationContext context) -
CurrentTimestampGeneration
public CurrentTimestampGeneration(CreationTimestamp annotation, Member member, GeneratorCreationContext context) -
CurrentTimestampGeneration
public CurrentTimestampGeneration(UpdateTimestamp annotation, Member member, GeneratorCreationContext context)
-
-
Method Details
-
getClock
-
generatedOnExecution
public boolean generatedOnExecution()Description copied from interface:GeneratorDetermines if the property value is generated when a row is written to the database, or in Java code that executes before the row is written.- Generators which only implement
BeforeExecutionGeneratormust resultfalse. - Generators which only implement
OnExecutionGeneratormust resulttrue. - Generators which implement both subinterfaces may decide at runtime what value to return.
- Specified by:
generatedOnExecutionin interfaceBeforeExecutionGenerator- Specified by:
generatedOnExecutionin interfaceGenerator- Specified by:
generatedOnExecutionin interfaceOnExecutionGenerator- Returns:
trueif the value is generated by the database as a side effect of the execution of aninsertorupdatestatement, or false if it is generated in Java code before the statement is executed via JDBC.
- Generators which only implement
-
getEventTypes
Description copied from interface:GeneratorThe event types for which this generator should be called to produce a new value.Identifier generators must return
EventTypeSets.INSERT_ONLY.- Specified by:
getEventTypesin interfaceGenerator- Returns:
- a set of
EventTypes.
-
writePropertyValue
public boolean writePropertyValue()Description copied from interface:OnExecutionGeneratorDetermines if the property values are written to JDBC as the argument of a JDBC?parameter.- Specified by:
writePropertyValuein interfaceOnExecutionGenerator
-
referenceColumnsInSql
Description copied from interface:OnExecutionGeneratorDetermines if the columns whose values are generated are included in the column list of the SQLinsertorupdatestatement. For example, this method should return:trueif the value is generated by calling a SQL function likecurrent_timestamp, orfalseif the value is generated by a trigger, bygenerated always as, or using a column default value.
- Specified by:
referenceColumnsInSqlin interfaceOnExecutionGenerator- Returns:
trueif the column is included in the column list of the SQL statement.
-
getReferencedColumnValues
Description copied from interface:OnExecutionGeneratorA SQL expression indicating how to calculate the generated values when the mapped columns are included in the SQL statement. The SQL expressions might be:- function calls like
current_timestampornextval('mysequence'), or - syntactic markers like
default.
- Specified by:
getReferencedColumnValuesin interfaceOnExecutionGenerator- Parameters:
dialect- The SQL dialect, allowing generation of an expression in dialect-specific SQL.- Returns:
- The column value to be used in the generated SQL statement.
- function calls like
-