Example usage for org.hibernate.id.enhanced OptimizerFactory buildOptimizer

List of usage examples for org.hibernate.id.enhanced OptimizerFactory buildOptimizer

Introduction

In this page you can find the example usage for org.hibernate.id.enhanced OptimizerFactory buildOptimizer.

Prototype

public static Optimizer buildOptimizer(String type, Class returnClass, int incrementSize,
        long explicitInitialValue) 

Source Link

Document

Builds an optimizer

Usage

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);
    }
}