List of usage examples for org.hibernate.id.enhanced OptimizerFactory buildOptimizer
public static Optimizer buildOptimizer(String type, Class returnClass, int incrementSize, long explicitInitialValue)
From source file:de.innovationgate.webgate.api.mysql.GaleraClusterTableGenerator.java
License:Open Source License
@Override public void configure(Type type, Properties params, Dialect dialect) throws MappingException { identifierType = type;/*from w w w. ja v a 2s . com*/ tableName = determineGeneratorTableName(params, dialect); segmentColumnName = determineSegmentColumnName(params, dialect); valueColumnName = determineValueColumnName(params, dialect); segmentValue = determineSegmentValue(params); segmentValueLength = determineSegmentColumnSize(params); initialValue = determineInitialValue(params); incrementSize = determineIncrementSize(params); this.selectQuery = buildSelectQuery(dialect); this.updateQuery = buildUpdateQuery(); this.insertQuery = buildInsertQuery(); // if the increment size is greater than one, we prefer pooled optimization; but we // need to see if the user prefers POOL or POOL_LO... String defaultPooledOptimizerStrategy = ConfigurationHelper.getBoolean(Environment.PREFER_POOLED_VALUES_LO, params, false) ? OptimizerFactory.StandardOptimizerDescriptor.POOLED_LO.getExternalName() : OptimizerFactory.StandardOptimizerDescriptor.POOLED.getExternalName(); final String defaultOptimizerStrategy = incrementSize <= 1 ? OptimizerFactory.StandardOptimizerDescriptor.NONE.getExternalName() : defaultPooledOptimizerStrategy; final String optimizationStrategy = ConfigurationHelper.getString(OPT_PARAM, params, defaultOptimizerStrategy); optimizer = OptimizerFactory.buildOptimizer(optimizationStrategy, identifierType.getReturnedClass(), incrementSize, ConfigurationHelper.getInt(INITIAL_PARAM, params, -1)); }
From source file:net.e6tech.elements.persist.hibernate.ModifiedTableGenerator.java
License:Apache License
@Override public void configure(Type type, Properties params, ServiceRegistry serviceRegistry) throws MappingException { identifierType = type;/*from w w w .j a v a2s .com*/ final JdbcEnvironment jdbcEnvironment = serviceRegistry.getService(JdbcEnvironment.class); qualifiedTableName = determineGeneratorTableName(params, jdbcEnvironment); segmentColumnName = determineSegmentColumnName(params, jdbcEnvironment); valueColumnName = determineValueColumnName(params, jdbcEnvironment); segmentValue = determineSegmentValue(params); segmentValueLength = determineSegmentColumnSize(params); initialValue = determineInitialValue(params); incrementSize = determineIncrementSize(params); final String optimizationStrategy = ConfigurationHelper.getString(OPT_PARAM, params, OptimizerFactory.determineImplicitOptimizerName(incrementSize, params)); optimizer = OptimizerFactory.buildOptimizer(optimizationStrategy, identifierType.getReturnedClass(), incrementSize, ConfigurationHelper.getInt(INITIAL_PARAM, params, -1)); }
From source file:org.apereo.portal.utils.HibernateStyleCounterStore.java
License:Apache License
private Optimizer getCounterOptimizer(String counterName) { Callable<Optimizer> optimizer = counterOptimizers.get(counterName); if (optimizer == null) { optimizer = new Callable<Optimizer>() { private volatile Optimizer optimizer; @Override/*from w w w . ja v a 2s . co m*/ public Optimizer call() throws Exception { Optimizer o = optimizer; if (o != null) { return o; } synchronized (this) { o = optimizer; if (o != null) { return o; } o = OptimizerFactory.buildOptimizer( OptimizerFactory.StandardOptimizerDescriptor.POOLED.getExternalName(), identifierType.getReturnedClass(), incrementSize, initialValue); this.optimizer = o; } return o; } }; optimizer = ConcurrentMapUtils.putIfAbsent(counterOptimizers, counterName, optimizer); } try { return optimizer.call(); } catch (Exception e) { if (e instanceof RuntimeException) { throw (RuntimeException) e; } throw new RuntimeException(e); } }