Package org.hibernate.id.enhanced
Class OptimizerFactory.PooledOptimizer
java.lang.Object
org.hibernate.id.enhanced.OptimizerFactory.OptimizerSupport
org.hibernate.id.enhanced.OptimizerFactory.PooledOptimizer
- All Implemented Interfaces:
Optimizer,OptimizerFactory.InitialValueAwareOptimizer
- Enclosing class:
OptimizerFactory
public static class OptimizerFactory.PooledOptimizer
extends OptimizerFactory.OptimizerSupport
implements OptimizerFactory.InitialValueAwareOptimizer
Optimizer which uses a pool of values, storing the next low value of the
range in the database.
Note that this optimizer works essentially the same as the
OptimizerFactory.HiLoOptimizer except that here the bucket ranges are actually
encoded into the database structures.
Note if you prefer that the database value be interpreted as the bottom end of our current range,
then use the OptimizerFactory.PooledLoOptimizer strategy-
Field Summary
Fields inherited from class org.hibernate.id.enhanced.OptimizerFactory.OptimizerSupport
incrementSize, returnClass -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanAre increments to be applied to the values stored in the underlying value source?generate(AccessCallback callback) Generate an identifier value accounting for this specific optimization.A common means to access the last value obtained from the underlying source.Getter for property 'lastValue'.voidinjectInitialValue(long initialValue) Reports the user specified initial value to the optimizer.Methods inherited from class org.hibernate.id.enhanced.OptimizerFactory.OptimizerSupport
getIncrementSize, getReturnClass
-
Constructor Details
-
PooledOptimizer
-
-
Method Details
-
generate
Generate an identifier value accounting for this specific optimization. -
getLastSourceValue
A common means to access the last value obtained from the underlying source. This is intended for testing purposes, since accessing the underlying database source directly is much more difficult.- Specified by:
getLastSourceValuein interfaceOptimizer- Returns:
- The last value we obtained from the underlying source; null indicates we have not yet consulted with the source.
-
applyIncrementSizeToSourceValues
public boolean applyIncrementSizeToSourceValues()Are increments to be applied to the values stored in the underlying value source?- Specified by:
applyIncrementSizeToSourceValuesin interfaceOptimizer- Returns:
- True if the values in the source are to be incremented according to the defined increment size; false otherwise, in which case the increment is totally an in memory construct.
-
getLastValue
Getter for property 'lastValue'. Exposure intended for testing purposes.- Returns:
- Value for property 'lastValue'.
-
injectInitialValue
public void injectInitialValue(long initialValue) Reports the user specified initial value to the optimizer. -1 is used to indicate that the user did not specify.- Specified by:
injectInitialValuein interfaceOptimizerFactory.InitialValueAwareOptimizer- Parameters:
initialValue- The initial value specified by the user, or -1 to indicate that the user did not specify.
-