Package org.hibernate.generator.internal
Class VersionGeneration
- java.lang.Object
-
- org.hibernate.generator.internal.VersionGeneration
-
- All Implemented Interfaces:
Serializable,BeforeExecutionGenerator,Generator
public class VersionGeneration extends Object implements BeforeExecutionGenerator
A defaultGeneratorfor@Versionproperties. This implementation simply delegates back to:VersionJavaType.seed(java.lang.Long, java.lang.Integer, java.lang.Integer, org.hibernate.engine.spi.SharedSessionContractImplementor)to seed an initial version, andVersionJavaType.next(T, java.lang.Long, java.lang.Integer, java.lang.Integer, org.hibernate.engine.spi.SharedSessionContractImplementor)to increment a version.
Thus, this implementation reproduces the "classic" behavior of Hibernate. A custom generator specified using a generator annotation will override this implementation, allowing customized versioning.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description VersionGeneration(EntityVersionMapping versionMapping)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectgenerate(SharedSessionContractImplementor session, Object owner, Object current, EventType eventType)Generate a value.EnumSet<EventType>getEventTypes()The event types for which this generator should be called to produce a new value.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.generator.BeforeExecutionGenerator
generatedOnExecution
-
Methods inherited from interface org.hibernate.generator.Generator
generatesOnInsert, generatesOnUpdate, generatesSometimes
-
-
-
-
Constructor Detail
-
VersionGeneration
public VersionGeneration(EntityVersionMapping versionMapping)
-
-
Method Detail
-
getEventTypes
public EnumSet<EventType> 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.
-
generate
public Object generate(SharedSessionContractImplementor session, Object owner, Object current, EventType eventType)
Description copied from interface:BeforeExecutionGeneratorGenerate a value.- Specified by:
generatein interfaceBeforeExecutionGenerator- Parameters:
session- The session from which the request originates.owner- The instance of the object owning the attribute for which we are generating a value.current- The current value assigned to the property, ornulleventType- The type of event that has triggered generation of a new value- Returns:
- The generated value
-
-