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 defaultGenerator
for@Version
properties. 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 Object
generate(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
allowAssignedIdentifiers, generatedOnExecution, generatesOnInsert, generatesOnUpdate, generatesSometimes
-
-
-
-
Constructor Detail
-
VersionGeneration
public VersionGeneration(EntityVersionMapping versionMapping)
-
-
Method Detail
-
getEventTypes
public EnumSet<EventType> getEventTypes()
Description copied from interface:Generator
The event types for which this generator should be called to produce a new value.Identifier generators must return
EventTypeSets.INSERT_ONLY
.- Specified by:
getEventTypes
in interfaceGenerator
- Returns:
- a set of
EventType
s.
-
generate
public Object generate(SharedSessionContractImplementor session, Object owner, Object current, EventType eventType)
Description copied from interface:BeforeExecutionGenerator
Generate a value.- Specified by:
generate
in 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, ornull
eventType
- The type of event that has triggered generation of a new value- Returns:
- The generated value
-
-