Package org.hibernate.id.enhanced

Examples of org.hibernate.id.enhanced.TableGenerator


  public void testMinimalTableEntity() {
    final EntityPersister persister = sfi().getEntityPersister( MinimalTableEntity.class.getName() );
    IdentifierGenerator generator = persister.getIdentifierGenerator();
    assertTrue( TableGenerator.class.isInstance( generator ) );
    TableGenerator tabGenerator = (TableGenerator) generator;
    assertEquals( MinimalTableEntity.TBL_NAME, tabGenerator.getTableName() );
    assertEquals( TableGenerator.DEF_SEGMENT_COLUMN, tabGenerator.getSegmentColumnName() );
    assertEquals( "MINIMAL_TBL", tabGenerator.getSegmentValue() );
    assertEquals( TableGenerator.DEF_VALUE_COLUMN, tabGenerator.getValueColumnName() );
    // 0 is the annotation default, but its expected to be treated as 1
    assertEquals( 1, tabGenerator.getInitialValue() );
    // 50 is the annotation default
    assertEquals( 50, tabGenerator.getIncrementSize() );
    assertTrue( OptimizerFactory.PooledOptimizer.class.isInstance( tabGenerator.getOptimizer() ) );
  }
View Full Code Here


  }

  public void testNormalBoundary() {
    EntityPersister persister = sfi().getEntityPersister( Entity.class.getName() );
    assertClassAssignability( TableGenerator.class, persister.getIdentifierGenerator().getClass() );
    TableGenerator generator = ( TableGenerator ) persister.getIdentifierGenerator();
    assertClassAssignability( OptimizerFactory.PooledOptimizer.class, generator.getOptimizer().getClass() );
    OptimizerFactory.PooledOptimizer optimizer = ( OptimizerFactory.PooledOptimizer ) generator.getOptimizer();

    int increment = optimizer.getIncrementSize();
    Entity[] entities = new Entity[ increment + 1 ];
    Session s = openSession();
    s.beginTransaction();
    for ( int i = 0; i < increment; i++ ) {
      entities[i] = new Entity( "" + ( i + 1 ) );
      s.save( entities[i] );
      assertEquals( 2, generator.getTableAccessCount() ); // initialization calls seq twice
      assertEquals( increment + 1, ( (BasicHolder) optimizer.getLastSourceValue() ).getActualLongValue() ); // initialization calls seq twice
      assertEquals( i + 1, ( (BasicHolder) optimizer.getLastValue() ).getActualLongValue() );
      assertEquals( increment + 1, ( (BasicHolder) optimizer.getLastSourceValue() ).getActualLongValue() );
    }
    // now force a "clock over"
    entities[ increment ] = new Entity( "" + increment );
    s.save( entities[ increment ] );
    assertEquals( 3, generator.getTableAccessCount() ); // initialization (2) + clock over
    assertEquals( ( increment * 2 ) + 1, ( (BasicHolder) optimizer.getLastSourceValue() ).getActualLongValue() ); // initialization (2) + clock over
    assertEquals( increment + 1, ( (BasicHolder) optimizer.getLastValue() ).getActualLongValue() );
    s.getTransaction().commit();

    s.beginTransaction();
View Full Code Here

  }

  public void testNormalBoundary() {
    EntityPersister persister = sfi().getEntityPersister( Entity.class.getName() );
    assertClassAssignability( TableGenerator.class, persister.getIdentifierGenerator().getClass() );
    TableGenerator generator = ( TableGenerator ) persister.getIdentifierGenerator();

    int count = 5;
    Entity[] entities = new Entity[count];
    Session s = openSession();
    s.beginTransaction();
    for ( int i = 0; i < count; i++ ) {
      entities[i] = new Entity( "" + ( i + 1 ) );
      s.save( entities[i] );
      long expectedId = i + 1;
      assertEquals( expectedId, entities[i].getId().longValue() );
      assertEquals( expectedId, generator.getTableAccessCount() );
      assertEquals( expectedId, ( (BasicHolder) generator.getOptimizer().getLastSourceValue() ).getActualLongValue() );
    }
    s.getTransaction().commit();

    s.beginTransaction();
    for ( int i = 0; i < count; i++ ) {
View Full Code Here

  }

  public void testNormalBoundary() {
    EntityPersister persister = sfi().getEntityPersister( Entity.class.getName() );
    assertClassAssignability( TableGenerator.class, persister.getIdentifierGenerator().getClass() );
    TableGenerator generator = ( TableGenerator ) persister.getIdentifierGenerator();
    assertClassAssignability( OptimizerFactory.HiLoOptimizer.class, generator.getOptimizer().getClass() );
    OptimizerFactory.HiLoOptimizer optimizer = ( OptimizerFactory.HiLoOptimizer ) generator.getOptimizer();

    int increment = optimizer.getIncrementSize();
    Entity[] entities = new Entity[ increment + 1 ];
    Session s = openSession();
    s.beginTransaction();
    for ( int i = 0; i < increment; i++ ) {
      entities[i] = new Entity( "" + ( i + 1 ) );
      s.save( entities[i] );
      assertEquals( 1, generator.getTableAccessCount() ); // initialization
      assertEquals( 1, ( (BasicHolder) optimizer.getLastSourceValue() ).getActualLongValue() ); // initialization
      assertEquals( i + 1, ( (BasicHolder) optimizer.getLastValue() ).getActualLongValue() );
      assertEquals( increment + 1, ( (BasicHolder) optimizer.getHiValue() ).getActualLongValue() );
    }
    // now force a "clock over"
    entities[ increment ] = new Entity( "" + increment );
    s.save( entities[ increment ] );
    assertEquals( 2, generator.getTableAccessCount() ); // initialization
    assertEquals( 2, ( (BasicHolder) optimizer.getLastSourceValue() ).getActualLongValue() ); // initialization
    assertEquals( increment + 1, ( (BasicHolder) optimizer.getLastValue() ).getActualLongValue() );
    assertEquals( ( increment * 2 ) + 1, ( (BasicHolder) optimizer.getHiValue() ).getActualLongValue() );

    s.getTransaction().commit();
View Full Code Here

   
  }
  public void testNormalBoundary() {
    EntityPersister persister = sfi().getEntityPersister( Entity.class.getName() );
    assertClassAssignability( TableGenerator.class, persister.getIdentifierGenerator().getClass() );
    TableGenerator generator = ( TableGenerator ) persister.getIdentifierGenerator();

    int count = 5;
    Entity[] entities = new Entity[count];
    Session s = openSession();
    s.beginTransaction();
    for ( int i = 0; i < count; i++ ) {
      entities[i] = new Entity( "" + ( i + 1 ) );
      s.save( entities[i] );
      long expectedId = i + 1;
      assertEquals( expectedId, entities[i].getId().longValue() );
      assertEquals( expectedId, generator.getTableAccessCount() );
      assertEquals( expectedId, generator.getOptimizer().getLastSourceValue() );
    }
    s.getTransaction().commit();

    s.beginTransaction();
    for ( int i = 0; i < count; i++ ) {
View Full Code Here

  }

  public void testNormalBoundary() {
    EntityPersister persister = sfi().getEntityPersister( Entity.class.getName() );
    assertClassAssignability( TableGenerator.class, persister.getIdentifierGenerator().getClass() );
    TableGenerator generator = ( TableGenerator ) persister.getIdentifierGenerator();
    assertClassAssignability( OptimizerFactory.HiLoOptimizer.class, generator.getOptimizer().getClass() );
    OptimizerFactory.HiLoOptimizer optimizer = ( OptimizerFactory.HiLoOptimizer ) generator.getOptimizer();

    int increment = optimizer.getIncrementSize();
    Entity[] entities = new Entity[ increment + 1 ];
    Session s = openSession();
    s.beginTransaction();
    for ( int i = 0; i < increment; i++ ) {
      entities[i] = new Entity( "" + ( i + 1 ) );
      s.save( entities[i] );
      assertEquals( 1, generator.getTableAccessCount() ); // initialization
      assertEquals( 1, optimizer.getLastSourceValue() ); // initialization
      assertEquals( i + 1, optimizer.getLastValue() );
      assertEquals( increment + 1, optimizer.getHiValue() );
    }
    // now force a "clock over"
    entities[ increment ] = new Entity( "" + increment );
    s.save( entities[ increment ] );
    assertEquals( 2, generator.getTableAccessCount() ); // initialization
    assertEquals( 2, optimizer.getLastSourceValue() ); // initialization
    assertEquals( increment + 1, optimizer.getLastValue() );
    assertEquals( ( increment * 2 ) + 1, optimizer.getHiValue() );

    s.getTransaction().commit();
View Full Code Here

  }

  public void testNormalBoundary() {
    EntityPersister persister = sfi().getEntityPersister( Entity.class.getName() );
    assertClassAssignability( TableGenerator.class, persister.getIdentifierGenerator().getClass() );
    TableGenerator generator = ( TableGenerator ) persister.getIdentifierGenerator();
    assertClassAssignability( OptimizerFactory.PooledOptimizer.class, generator.getOptimizer().getClass() );
    OptimizerFactory.PooledOptimizer optimizer = ( OptimizerFactory.PooledOptimizer ) generator.getOptimizer();

    int increment = optimizer.getIncrementSize();
    Entity[] entities = new Entity[ increment + 1 ];
    Session s = openSession();
    s.beginTransaction();
    for ( int i = 0; i < increment; i++ ) {
      entities[i] = new Entity( "" + ( i + 1 ) );
      s.save( entities[i] );
      assertEquals( 2, generator.getTableAccessCount() ); // initialization calls seq twice
      assertEquals( increment + 1, optimizer.getLastSourceValue() ); // initialization calls seq twice
      assertEquals( i + 1, optimizer.getLastValue() );
      assertEquals( increment + 1, optimizer.getLastSourceValue() );
    }
    // now force a "clock over"
    entities[ increment ] = new Entity( "" + increment );
    s.save( entities[ increment ] );
    assertEquals( 3, generator.getTableAccessCount() ); // initialization (2) + clock over
    assertEquals( ( increment * 2 ) + 1, optimizer.getLastSourceValue() ); // initialization (2) + clock over
    assertEquals( increment + 1, optimizer.getLastValue() );
    s.getTransaction().commit();

    s.beginTransaction();
View Full Code Here

  }

  public void testNormalBoundary() {
    EntityPersister persister = sfi().getEntityPersister( Entity.class.getName() );
    assertClassAssignability( TableGenerator.class, persister.getIdentifierGenerator().getClass() );
    TableGenerator generator = ( TableGenerator ) persister.getIdentifierGenerator();

    int count = 5;
    Entity[] entities = new Entity[count];
    Session s = openSession();
    s.beginTransaction();
    for ( int i = 0; i < count; i++ ) {
      entities[i] = new Entity( "" + ( i + 1 ) );
      s.save( entities[i] );
      long expectedId = i + 1;
      assertEquals( expectedId, entities[i].getId().longValue() );
      assertEquals( expectedId, generator.getTableAccessCount() );
      assertEquals( expectedId, generator.getOptimizer().getLastSourceValue() );
    }
    s.getTransaction().commit();

    s.beginTransaction();
    for ( int i = 0; i < count; i++ ) {
View Full Code Here

  }

  public void testNormalBoundary() {
    EntityPersister persister = sfi().getEntityPersister( Entity.class.getName() );
    assertClassAssignability( TableGenerator.class, persister.getIdentifierGenerator().getClass() );
    TableGenerator generator = ( TableGenerator ) persister.getIdentifierGenerator();

    int count = 5;
    Entity[] entities = new Entity[count];
    Session s = openSession();
    s.beginTransaction();
    for ( int i = 0; i < count; i++ ) {
      entities[i] = new Entity( "" + ( i + 1 ) );
      s.save( entities[i] );
      long expectedId = i + 1;
      assertEquals( expectedId, entities[i].getId().longValue() );
      assertEquals( expectedId, generator.getTableAccessCount() );
      assertEquals( expectedId, generator.getOptimizer().getLastSourceValue() );
    }
    s.getTransaction().commit();

    s.beginTransaction();
    for ( int i = 0; i < count; i++ ) {
View Full Code Here

  }

  public void testNormalBoundary() {
    EntityPersister persister = sfi().getEntityPersister( Entity.class.getName() );
    assertClassAssignability( TableGenerator.class, persister.getIdentifierGenerator().getClass() );
    TableGenerator generator = ( TableGenerator ) persister.getIdentifierGenerator();
    assertClassAssignability( OptimizerFactory.HiLoOptimizer.class, generator.getOptimizer().getClass() );
    OptimizerFactory.HiLoOptimizer optimizer = ( OptimizerFactory.HiLoOptimizer ) generator.getOptimizer();

    int increment = optimizer.getIncrementSize();
    Entity[] entities = new Entity[ increment + 1 ];
    Session s = openSession();
    s.beginTransaction();
    for ( int i = 0; i < increment; i++ ) {
      entities[i] = new Entity( "" + ( i + 1 ) );
      s.save( entities[i] );
      assertEquals( 1, generator.getTableAccessCount() ); // initialization
      assertEquals( 1, optimizer.getLastSourceValue() ); // initialization
      assertEquals( i + 1, optimizer.getLastValue() );
      assertEquals( increment + 1, optimizer.getHiValue() );
    }
    // now force a "clock over"
    entities[ increment ] = new Entity( "" + increment );
    s.save( entities[ increment ] );
    assertEquals( 2, generator.getTableAccessCount() ); // initialization
    assertEquals( 2, optimizer.getLastSourceValue() ); // initialization
    assertEquals( increment + 1, optimizer.getLastValue() );
    assertEquals( ( increment * 2 ) + 1, optimizer.getHiValue() );

    s.getTransaction().commit();
View Full Code Here

TOP

Related Classes of org.hibernate.id.enhanced.TableGenerator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.