Tabnine Logo
Optimizer.generate
Code IndexAdd Tabnine to your IDE (free)

How to use
generate
method
in
org.hibernate.id.enhanced.Optimizer

Best Java code snippets using org.hibernate.id.enhanced.Optimizer.generate (Showing top 20 results out of 315)

origin: hibernate/hibernate-orm

@Override
public Serializable generate(SharedSessionContractImplementor session, Object object) throws HibernateException {
  return optimizer.generate( databaseStructure.buildCallback( session ) );
}
origin: hibernate/hibernate-orm

final SessionEventListenerManager statsCollector = session.getEventListenerManager();
return optimizer.generate(
    new AccessCallback() {
      @Override
origin: hibernate/hibernate-orm

@Test
public void testBasicPooledOptimizerUsage() {
  Long next;
  // test historic sequence behavior, where the initial values start at 1...
  SourceMock sequence = new SourceMock( 1, 10 );
  Optimizer optimizer = buildPooledOptimizer( -1, 10 );
  for ( int i = 1; i <= 11; i++ ) {
    next = ( Long ) optimizer.generate( sequence );
    assertEquals( i, next.intValue() );
  }
  assertEquals( 2, sequence.getTimesCalled() ); // twice to initialize state
  assertEquals( 11, sequence.getCurrentValue() );
  // force a "clock over"
  next = ( Long ) optimizer.generate( sequence );
  assertEquals( 12, next.intValue() );
  assertEquals( 3, sequence.getTimesCalled() );
  assertEquals( 21, sequence.getCurrentValue() );
}
origin: hibernate/hibernate-orm

  @Test
  public void testBasicPooledLoOptimizerUsage() {
    final SourceMock sequence = new SourceMock( 1, 3 );
    final Optimizer optimizer = buildPooledLoOptimizer( 1, 3 );

    assertEquals( 0, sequence.getTimesCalled() );
    assertEquals( -1, sequence.getCurrentValue() );

    Long next = ( Long ) optimizer.generate( sequence );
    assertEquals( 1, next.intValue() );
    assertEquals( 1, sequence.getTimesCalled() );
    assertEquals( 1, sequence.getCurrentValue() );

    next = ( Long ) optimizer.generate( sequence );
    assertEquals( 2, next.intValue() );
    assertEquals( 1, sequence.getTimesCalled() );
    assertEquals( 1, sequence.getCurrentValue() );

    next = ( Long ) optimizer.generate( sequence );
    assertEquals( 3, next.intValue() );
    assertEquals( 1, sequence.getTimesCalled() );
    assertEquals( 1, sequence.getCurrentValue() );

//        // force a "clock over"
    next = ( Long ) optimizer.generate( sequence );
    assertEquals( 4, next.intValue() );
    assertEquals( 2, sequence.getTimesCalled() );
    assertEquals( (1+3), sequence.getCurrentValue() );
  }

origin: hibernate/hibernate-orm

@Test
public void testBasicNoOptimizerUsageWithNegativeValues() {
  // test historic sequence behavior, where the initial values start at 1...
  SourceMock sequence = new SourceMock( -1, -1 );
  Optimizer optimizer = buildNoneOptimizer( -1, -1 );
  for ( int i = 1; i < 11; i++ ) {
    final Long next = ( Long ) optimizer.generate( sequence );
    assertEquals( -i, next.intValue() );
  }
  assertEquals( 10, sequence.getTimesCalled() );
  assertEquals( -10, sequence.getCurrentValue() );
  // As of HHH-11709 being fixed, Hibernate will use the value retrieved from the sequence,
  // rather than incrementing 1.
  sequence = new SourceMock( 0 );
  optimizer = buildNoneOptimizer( -1, 1 );
  for ( int i = 1; i < 11; i++ ) {
    final Long next = ( Long ) optimizer.generate( sequence );
    assertEquals( i-1, next.intValue() );
  }
  assertEquals( 10, sequence.getTimesCalled() ); // an extra time to get to 1 initially
  assertEquals( 9, sequence.getCurrentValue() );
}
origin: hibernate/hibernate-orm

Long next = ( Long ) optimizer.generate( sequence );
assertEquals( (1001+3), next.intValue() );
assertEquals( (5+1), sequence.getTimesCalled() );
assertEquals( (1001+3), sequence.getCurrentValue() );
next = ( Long ) optimizer.generate( sequence );
assertEquals( (1001+4), next.intValue() );
assertEquals( (5+1), sequence.getTimesCalled() );
assertEquals( (1001+3), sequence.getCurrentValue() );
next = ( Long ) optimizer.generate( sequence );
assertEquals( (1001+5), next.intValue() );
assertEquals( (5+1), sequence.getTimesCalled() );
next = ( Long ) optimizer.generate( sequence );
assertEquals( (1001+6), next.intValue() );
assertEquals( (5+2), sequence.getTimesCalled() );
origin: hibernate/hibernate-orm

@Test
public void testBasicNoOptimizerUsage() {
  // test historic sequence behavior, where the initial values start at 1...
  SourceMock sequence = new SourceMock( 1 );
  Optimizer optimizer = buildNoneOptimizer( -1, 1 );
  for ( int i = 1; i < 11; i++ ) {
    final Long next = ( Long ) optimizer.generate( sequence );
    assertEquals( i, next.intValue() );
  }
  assertEquals( 10, sequence.getTimesCalled() );
  assertEquals( 10, sequence.getCurrentValue() );
  // As of HHH-11709 being fixed, Hibernate will use the value retrieved from the sequence,
  // rather than incrementing 1.
  sequence = new SourceMock( 0 );
  optimizer = buildNoneOptimizer( -1, 1 );
  for ( int i = 1; i < 11; i++ ) {
    final Long next = ( Long ) optimizer.generate( sequence );
    assertEquals( i-1, next.intValue() );
  }
  assertEquals( 10, sequence.getTimesCalled() ); // an extra time to get to 1 initially
  assertEquals( 9, sequence.getCurrentValue() );
}
@Test
origin: hibernate/hibernate-orm

@Test
public void testBasicPooledThreadLocalLoOptimizerUsage() {
  final SourceMock sequence = new SourceMock( 1, 50 ); // pass 5000 to match default for PooledThreadLocalLoOptimizer.THREAD_LOCAL_BLOCK_SIZE
  final Optimizer optimizer = buildPooledThreadLocalLoOptimizer( 1, 50 );
  assertEquals( 0, sequence.getTimesCalled() );
  assertEquals( -1, sequence.getCurrentValue() );
  Long next = ( Long ) optimizer.generate( sequence );
  assertEquals( 1, next.intValue() );
  assertEquals( 1, sequence.getTimesCalled() );
  assertEquals( 1, sequence.getCurrentValue() );
  next = ( Long ) optimizer.generate( sequence );
  assertEquals( 2, next.intValue() );
  assertEquals( 1, sequence.getTimesCalled() );
  assertEquals( 1, sequence.getCurrentValue() );
  next = ( Long ) optimizer.generate( sequence );
  assertEquals( 3, next.intValue() );
  assertEquals( 1, sequence.getTimesCalled() );
  assertEquals( 1, sequence.getCurrentValue() );
  for( int looper = 0; looper < 51; looper++) {
    next = ( Long ) optimizer.generate( sequence );
  }
  assertEquals( 3 + 51, next.intValue() );
  assertEquals( 2, sequence.getTimesCalled() );
  assertEquals( 51, sequence.getCurrentValue() );
}
origin: hibernate/hibernate-orm

@Test
public void testSubsequentPooledOptimizerUsage() {
  // test the pooled optimizer in situation where the sequence is already beyond its initial value on init.
  //		cheat by telling the sequence to start with 1000
  final SourceMock sequence = new SourceMock( 1001, 3, 5 );
  //		but tell the optimizer the start-with is 1
  final Optimizer optimizer = buildPooledOptimizer( 1, 3 );
  assertEquals( 5, sequence.getTimesCalled() );
  assertEquals( 1001, sequence.getCurrentValue() );
  Long next = (Long) optimizer.generate( sequence );
  assertEquals( 1001 +1 , next.intValue() );
  assertEquals( (5+1), sequence.getTimesCalled() );
  assertEquals( (1001+3), sequence.getCurrentValue() );
  next = (Long) optimizer.generate( sequence );
  assertEquals( (1001+2), next.intValue() );
  assertEquals( (5+1), sequence.getTimesCalled() );
  assertEquals( (1001+3), sequence.getCurrentValue() );
  next = (Long) optimizer.generate( sequence );
  assertEquals( (1001+3), next.intValue() );
  assertEquals( (5+1), sequence.getTimesCalled() );
  assertEquals( (1001+3), sequence.getCurrentValue() );
  // force a "clock over"
  next = (Long) optimizer.generate( sequence );
  assertEquals( (1001+4), next.intValue() );
  assertEquals( (5+2), sequence.getTimesCalled() );
  assertEquals( (1001+6), sequence.getCurrentValue() );
}
origin: hibernate/hibernate-orm

@Test
public void testRecoveredPooledLoOptimizerUsage() {
  final SourceMock sequence = new SourceMock( 1, 3 );
  final Optimizer optimizer = buildPooledLoOptimizer( 1, 3 );
  assertEquals( 0, sequence.getTimesCalled() );
  assertEquals( -1, sequence.getCurrentValue() );
  Long next = ( Long ) optimizer.generate( sequence );
  assertEquals( 1, next.intValue() );
  assertEquals( 1, sequence.getTimesCalled() );
  assertEquals( 1, sequence.getCurrentValue() );
  // app ends, and starts back up (we should "lose" only 2 and 3 as id values)
  final Optimizer optimizer2 = buildPooledLoOptimizer( 1, 3 );
  next = ( Long ) optimizer2.generate( sequence );
  assertEquals( 4, next.intValue() );
  assertEquals( 2, sequence.getTimesCalled() );
  assertEquals( 4, sequence.getCurrentValue() );
}
origin: hibernate/hibernate-orm

Optimizer optimizer = buildHiloOptimizer( -1, increment );
for ( int i = 1; i <= increment; i++ ) {
  next = ( Long ) optimizer.generate( sequence );
  assertEquals( i, next.intValue() );
assertEquals( 1, sequence.getCurrentValue() );
next = ( Long ) optimizer.generate( sequence );
assertEquals( 11, next.intValue() );
assertEquals( 2, sequence.getTimesCalled() );
optimizer = buildHiloOptimizer( -1, increment );
for ( int i = 1; i <= increment; i++ ) {
  next = ( Long ) optimizer.generate( sequence );
  assertEquals( i, next.intValue() );
assertEquals( 1, sequence.getCurrentValue() );
next = ( Long ) optimizer.generate( sequence );
assertEquals( 11, next.intValue() );
assertEquals( 3, sequence.getTimesCalled() );
origin: hibernate/hibernate-orm

@Test
public void testRecoveredPooledOptimizerUsage() {
  final SourceMock sequence = new SourceMock( 1, 3 );
  final Optimizer optimizer = buildPooledOptimizer( 1, 3 );
  assertEquals( 0, sequence.getTimesCalled() );
  assertEquals( -1, sequence.getCurrentValue() );
  Long next = ( Long ) optimizer.generate( sequence );
  assertEquals( 1, next.intValue() );
  assertEquals( 2, sequence.getTimesCalled() );
  assertEquals( 4, sequence.getCurrentValue() );
  // app ends, and starts back up (we should "lose" only 2 and 3 as id values)
  final Optimizer optimizer2 = buildPooledOptimizer( 1, 3 );
  next = ( Long ) optimizer2.generate( sequence );
  assertEquals( 5, next.intValue() );
  assertEquals( 3, sequence.getTimesCalled() );
  assertEquals( 7, sequence.getCurrentValue() );
}
@Test
origin: hibernate/hibernate-ogm

@Override
public synchronized Serializable generate(final SharedSessionContractImplementor session, Object obj) {
  return optimizer.generate(
      new AccessCallback() {
        @Override
        public IntegralDataTypeHolder getNextValue() {
          return (IntegralDataTypeHolder) doWorkInIsolationTransaction( session );
        }
        @Override
        public String getTenantIdentifier() {
          return session.getTenantIdentifier();
        }
      }
  );
}
origin: org.hibernate/com.springsource.org.hibernate

@Override
public Serializable generate(SessionImplementor session, Object object) throws HibernateException {
  return optimizer.generate( databaseStructure.buildCallback( session ) );
}
origin: org.hibernate.orm/hibernate-core

@Override
public Object generate(SharedSessionContractImplementor session, Object object) throws HibernateException {
  return optimizer.generate( databaseStructure.buildCallback( session ) );
}
origin: org.hibernate/com.springsource.org.hibernate.core

@Override
public Serializable generate(SessionImplementor session, Object object) throws HibernateException {
  return optimizer.generate( databaseStructure.buildCallback( session ) );
}
origin: Jasig/uPortal

private int getNextIdInternal(final Optimizer optimizer, final String counterName) {
      optimizer.generate(
          new AccessCallback() {
            @Override
origin: com.github.mg365/mg-common

  /**
   * 产生对应表“tableName”的ID
   * 指定序号的初始值
   * @param tableName
   * @param initialValue
   * @return
   */
  @Transactional
  public Serializable generate(final String tableName,final int initialValue) {
    SessionImplementor session = getSessionImplementor();
    if (generatorMap.get(tableName) == null) {
      dialect = session.getFactory().getDialect();
      initIdGenerator(tableName);
    }

    IdGenerator idGenerator = generatorMap.get(tableName);
    Optimizer optimizer = idGenerator.getOptimizer();

    final SqlStatementLogger statementLogger = session.getFactory().getServiceRegistry()
        .getService(JdbcServices.class)
        .getSqlStatementLogger();
    final SessionEventListenerManager statsCollector = session.getEventListenerManager();
    AbstractReturningWork<IntegralDataTypeHolder> abstractReturningWork = getAbstractReturningWork(statsCollector, statementLogger,idGenerator,initialValue);
    AccessCallback callback = getAccessCallback(session, abstractReturningWork);


    return optimizer.generate(callback);

  }
}
origin: com.github.mg365/mg-common

/**
 * 产生对应表“tableName”的ID
 * @param tableName
 * @return
 */
@Transactional
public Serializable generate(final String tableName) {
  SessionImplementor session = getSessionImplementor();
  if (generatorMap.get(tableName) == null) {
    dialect = session.getFactory().getDialect();
    initIdGenerator(tableName);
  }
  IdGenerator idGenerator = generatorMap.get(tableName);
  Optimizer optimizer = idGenerator.getOptimizer();
  final SqlStatementLogger statementLogger = session.getFactory().getServiceRegistry()
      .getService(JdbcServices.class)
      .getSqlStatementLogger();
  final SessionEventListenerManager statsCollector = session.getEventListenerManager();
  AbstractReturningWork<IntegralDataTypeHolder> abstractReturningWork = getAbstractReturningWork(statsCollector, statementLogger,idGenerator);
  AccessCallback callback = getAccessCallback(session, abstractReturningWork);
  return optimizer.generate(callback);
}
origin: org.hibernate.orm/hibernate-core

final SessionEventListenerManager statsCollector = session.getEventListenerManager();
return optimizer.generate(
    new AccessCallback() {
      @Override
org.hibernate.id.enhancedOptimizergenerate

Javadoc

Generate an identifier value accounting for this specific optimization. All known implementors are synchronized. Consider carefully if a new implementation could drop this requirement.

Popular methods of Optimizer

  • applyIncrementSizeToSourceValues
    Are increments to be applied to the values stored in the underlying value source?
  • getLastSourceValue
    A common means to access the last value obtained from the underlying source. This is intended for te

Popular in Java

  • Parsing JSON documents to java classes using gson
  • onCreateOptionsMenu (Activity)
  • onRequestPermissionsResult (Fragment)
  • setScale (BigDecimal)
  • HttpServer (com.sun.net.httpserver)
    This class implements a simple HTTP server. A HttpServer is bound to an IP address and port number a
  • Window (java.awt)
    A Window object is a top-level window with no borders and no menubar. The default layout for a windo
  • FileInputStream (java.io)
    An input stream that reads bytes from a file. File file = ...finally if (in != null) in.clos
  • Date (java.util)
    A specific moment in time, with millisecond precision. Values typically come from System#currentTime
  • Options (org.apache.commons.cli)
    Main entry-point into the library. Options represents a collection of Option objects, which describ
  • Base64 (org.apache.commons.codec.binary)
    Provides Base64 encoding and decoding as defined by RFC 2045.This class implements section 6.8. Base
  • Best plugins for Eclipse
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now