public class org.hibernate.id.enhanced.TableGenerator implements org.hibernate.id.PersistentIdentifierGenerator, org.hibernate.id.Configurable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.id.enhanced.TableGenerator
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String CONFIG_PREFER_SEGMENT_PER_ENTITY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "prefer_entity_table_as_segment_value"

  public static final java.lang.String TABLE_PARAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "table_name"

  public static final java.lang.String DEF_TABLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "hibernate_sequences"

  public static final java.lang.String VALUE_COLUMN_PARAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "value_column_name"

  public static final java.lang.String DEF_VALUE_COLUMN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "next_val"

  public static final java.lang.String SEGMENT_COLUMN_PARAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "segment_column_name"

  public static final java.lang.String DEF_SEGMENT_COLUMN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "sequence_name"

  public static final java.lang.String SEGMENT_VALUE_PARAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "segment_value"

  public static final java.lang.String DEF_SEGMENT_VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "default"

  public static final java.lang.String SEGMENT_LENGTH_PARAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "segment_value_length"

  public static final int DEF_SEGMENT_LENGTH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 255

  public static final java.lang.String INITIAL_PARAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "initial_value"

  public static final int DEFAULT_INITIAL_VALUE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final java.lang.String INCREMENT_PARAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "increment_size"

  public static final int DEFAULT_INCREMENT_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final java.lang.String OPT_PARAM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "optimizer"

  private boolean storeLastUsedValue;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.type.Type identifierType;
    descriptor: Lorg/hibernate/type/Type;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.boot.model.relational.QualifiedName qualifiedTableName;
    descriptor: Lorg/hibernate/boot/model/relational/QualifiedName;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String renderedTableName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String segmentColumnName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String segmentValue;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int segmentValueLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String valueColumnName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int initialValue;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int incrementSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String selectQuery;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String insertQuery;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String updateQuery;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.id.enhanced.Optimizer optimizer;
    descriptor: Lorg/hibernate/id/enhanced/Optimizer;
    flags: (0x0002) ACC_PRIVATE

  private long accessCount;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 134
            ldc Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 135
            ldc Lorg/hibernate/id/enhanced/TableGenerator;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         2: .line 133
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.id.enhanced.TableGenerator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         3: .line 228
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 132
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public java.lang.Object generatorKey();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 255
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.qualifiedTableName:Lorg/hibernate/boot/model/relational/QualifiedName;
            invokeinterface org.hibernate.boot.model.relational.QualifiedName.render:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public final org.hibernate.type.Type getIdentifierType();
    descriptor: ()Lorg/hibernate/type/Type;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 264
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.identifierType:Lorg/hibernate/type/Type;
            areturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public final java.lang.String getTableName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 273
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.qualifiedTableName:Lorg/hibernate/boot/model/relational/QualifiedName;
            invokeinterface org.hibernate.boot.model.relational.QualifiedName.render:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public final java.lang.String getSegmentColumnName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 283
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentColumnName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public final java.lang.String getSegmentValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 294
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentValue:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public final int getSegmentValueLength();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 308
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentValueLength:I
            ireturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public final java.lang.String getValueColumnName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 317
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.valueColumnName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public final int getInitialValue();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 327
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.initialValue:I
            ireturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public final int getIncrementSize();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 337
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.incrementSize:I
            ireturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public final org.hibernate.id.enhanced.Optimizer getOptimizer();
    descriptor: ()Lorg/hibernate/id/enhanced/Optimizer;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 346
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.optimizer:Lorg/hibernate/id/enhanced/Optimizer;
            areturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public final long getTableAccessCount();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 356
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.accessCount:J
            lreturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public void configure(org.hibernate.type.Type, java.util.Properties, org.hibernate.service.ServiceRegistry);
    descriptor: (Lorg/hibernate/type/Type;Ljava/util/Properties;Lorg/hibernate/service/ServiceRegistry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // org.hibernate.type.Type type
        start local 2 // java.util.Properties params
        start local 3 // org.hibernate.service.ServiceRegistry serviceRegistry
         0: .line 361
            aload 0 /* this */
            aload 3 /* serviceRegistry */
            ldc Lorg/hibernate/engine/config/spi/ConfigurationService;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.config.spi.ConfigurationService
         1: .line 362
            ldc "hibernate.id.generator.stored_last_used"
            getstatic org.hibernate.engine.config.spi.StandardConverters.BOOLEAN:Lorg/hibernate/engine/config/spi/ConfigurationService$Converter;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSetting:(Ljava/lang/String;Lorg/hibernate/engine/config/spi/ConfigurationService$Converter;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
         2: .line 361
            putfield org.hibernate.id.enhanced.TableGenerator.storeLastUsedValue:Z
         3: .line 363
            aload 0 /* this */
            aload 1 /* type */
            putfield org.hibernate.id.enhanced.TableGenerator.identifierType:Lorg/hibernate/type/Type;
         4: .line 365
            aload 3 /* serviceRegistry */
            ldc Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.jdbc.env.spi.JdbcEnvironment
            astore 4 /* jdbcEnvironment */
        start local 4 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
         5: .line 367
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* params */
            aload 4 /* jdbcEnvironment */
            aload 3 /* serviceRegistry */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.determineGeneratorTableName:(Ljava/util/Properties;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/boot/model/relational/QualifiedName;
            putfield org.hibernate.id.enhanced.TableGenerator.qualifiedTableName:Lorg/hibernate/boot/model/relational/QualifiedName;
         6: .line 368
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* params */
            aload 4 /* jdbcEnvironment */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.determineSegmentColumnName:(Ljava/util/Properties;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;)Ljava/lang/String;
            putfield org.hibernate.id.enhanced.TableGenerator.segmentColumnName:Ljava/lang/String;
         7: .line 369
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* params */
            aload 4 /* jdbcEnvironment */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.determineValueColumnName:(Ljava/util/Properties;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;)Ljava/lang/String;
            putfield org.hibernate.id.enhanced.TableGenerator.valueColumnName:Ljava/lang/String;
         8: .line 371
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* params */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.determineSegmentValue:(Ljava/util/Properties;)Ljava/lang/String;
            putfield org.hibernate.id.enhanced.TableGenerator.segmentValue:Ljava/lang/String;
         9: .line 373
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* params */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.determineSegmentColumnSize:(Ljava/util/Properties;)I
            putfield org.hibernate.id.enhanced.TableGenerator.segmentValueLength:I
        10: .line 374
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* params */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.determineInitialValue:(Ljava/util/Properties;)I
            putfield org.hibernate.id.enhanced.TableGenerator.initialValue:I
        11: .line 375
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* params */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.determineIncrementSize:(Ljava/util/Properties;)I
            putfield org.hibernate.id.enhanced.TableGenerator.incrementSize:I
        12: .line 378
            ldc "optimizer"
        13: .line 379
            aload 2 /* params */
        14: .line 380
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.incrementSize:I
            aload 2 /* params */
            invokestatic org.hibernate.id.enhanced.OptimizerFactory.determineImplicitOptimizerName:(ILjava/util/Properties;)Ljava/lang/String;
        15: .line 377
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getString:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* optimizationStrategy */
        start local 5 // java.lang.String optimizationStrategy
        16: .line 382
            ldc "initial_value"
            aload 2 /* params */
            iconst_m1
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getInt:(Ljava/lang/String;Ljava/util/Map;I)I
            istore 6 /* optimizerInitialValue */
        start local 6 // int optimizerInitialValue
        17: .line 383
            aload 0 /* this */
        18: .line 384
            aload 5 /* optimizationStrategy */
        19: .line 385
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.identifierType:Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.getReturnedClass:()Ljava/lang/Class;
        20: .line 386
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.incrementSize:I
        21: .line 387
            iload 6 /* optimizerInitialValue */
            i2l
        22: .line 383
            invokestatic org.hibernate.id.enhanced.OptimizerFactory.buildOptimizer:(Ljava/lang/String;Ljava/lang/Class;IJ)Lorg/hibernate/id/enhanced/Optimizer;
            putfield org.hibernate.id.enhanced.TableGenerator.optimizer:Lorg/hibernate/id/enhanced/Optimizer;
        23: .line 389
            return
        end local 6 // int optimizerInitialValue
        end local 5 // java.lang.String optimizationStrategy
        end local 4 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 3 // org.hibernate.service.ServiceRegistry serviceRegistry
        end local 2 // java.util.Properties params
        end local 1 // org.hibernate.type.Type type
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   24     0                   this  Lorg/hibernate/id/enhanced/TableGenerator;
            0   24     1                   type  Lorg/hibernate/type/Type;
            0   24     2                 params  Ljava/util/Properties;
            0   24     3        serviceRegistry  Lorg/hibernate/service/ServiceRegistry;
            5   24     4        jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
           16   24     5   optimizationStrategy  Ljava/lang/String;
           17   24     6  optimizerInitialValue  I
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                 Name  Flags
      type             
      params           
      serviceRegistry  

  protected org.hibernate.boot.model.relational.QualifiedName determineGeneratorTableName(java.util.Properties, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment, org.hibernate.service.ServiceRegistry);
    descriptor: (Ljava/util/Properties;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/boot/model/relational/QualifiedName;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.util.Properties params
        start local 2 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        start local 3 // org.hibernate.service.ServiceRegistry serviceRegistry
         0: .line 404
            ldc "hibernate_sequences"
            astore 4 /* fallbackTableName */
        start local 4 // java.lang.String fallbackTableName
         1: .line 406
            aload 3 /* serviceRegistry */
            ldc Lorg/hibernate/engine/config/spi/ConfigurationService;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.config.spi.ConfigurationService
         2: .line 407
            ldc "hibernate.model.generator_name_as_sequence_name"
            getstatic org.hibernate.engine.config.spi.StandardConverters.BOOLEAN:Lorg/hibernate/engine/config/spi/ConfigurationService$Converter;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSetting:(Ljava/lang/String;Lorg/hibernate/engine/config/spi/ConfigurationService$Converter;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
         3: .line 406
            astore 5 /* preferGeneratorNameAsDefaultName */
        start local 5 // java.lang.Boolean preferGeneratorNameAsDefaultName
         4: .line 408
            aload 5 /* preferGeneratorNameAsDefaultName */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 8
         5: .line 409
            aload 1 /* params */
            ldc "GENERATOR_NAME"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* generatorName */
        start local 6 // java.lang.String generatorName
         6: .line 410
            aload 6 /* generatorName */
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 411
            aload 6 /* generatorName */
            astore 4 /* fallbackTableName */
        end local 6 // java.lang.String generatorName
         8: .line 416
      StackMap locals: java.lang.String java.lang.Boolean
      StackMap stack:
            ldc "table_name"
            aload 1 /* params */
            aload 4 /* fallbackTableName */
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getString:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* tableName */
        start local 6 // java.lang.String tableName
         9: .line 418
            aload 6 /* tableName */
            ldc "."
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 11
        10: .line 419
            getstatic org.hibernate.boot.model.relational.QualifiedNameParser.INSTANCE:Lorg/hibernate/boot/model/relational/QualifiedNameParser;
            aload 6 /* tableName */
            invokevirtual org.hibernate.boot.model.relational.QualifiedNameParser.parse:(Ljava/lang/String;)Lorg/hibernate/boot/model/relational/QualifiedNameParser$NameParts;
            areturn
        11: .line 423
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper:()Lorg/hibernate/engine/jdbc/env/spi/IdentifierHelper;
        12: .line 424
            ldc "catalog"
            aload 1 /* params */
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getString:(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
        13: .line 423
            invokeinterface org.hibernate.engine.jdbc.env.spi.IdentifierHelper.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
            astore 7 /* catalog */
        start local 7 // org.hibernate.boot.model.naming.Identifier catalog
        14: .line 426
            aload 2 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper:()Lorg/hibernate/engine/jdbc/env/spi/IdentifierHelper;
        15: .line 427
            ldc "schema"
            aload 1 /* params */
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getString:(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
        16: .line 426
            invokeinterface org.hibernate.engine.jdbc.env.spi.IdentifierHelper.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
            astore 8 /* schema */
        start local 8 // org.hibernate.boot.model.naming.Identifier schema
        17: .line 429
            new org.hibernate.boot.model.relational.QualifiedNameParser$NameParts
            dup
        18: .line 430
            aload 7 /* catalog */
        19: .line 431
            aload 8 /* schema */
        20: .line 432
            aload 2 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper:()Lorg/hibernate/engine/jdbc/env/spi/IdentifierHelper;
            aload 6 /* tableName */
            invokeinterface org.hibernate.engine.jdbc.env.spi.IdentifierHelper.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
        21: .line 429
            invokespecial org.hibernate.boot.model.relational.QualifiedNameParser$NameParts.<init>:(Lorg/hibernate/boot/model/naming/Identifier;Lorg/hibernate/boot/model/naming/Identifier;Lorg/hibernate/boot/model/naming/Identifier;)V
            areturn
        end local 8 // org.hibernate.boot.model.naming.Identifier schema
        end local 7 // org.hibernate.boot.model.naming.Identifier catalog
        end local 6 // java.lang.String tableName
        end local 5 // java.lang.Boolean preferGeneratorNameAsDefaultName
        end local 4 // java.lang.String fallbackTableName
        end local 3 // org.hibernate.service.ServiceRegistry serviceRegistry
        end local 2 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 1 // java.util.Properties params
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0   22     0                              this  Lorg/hibernate/id/enhanced/TableGenerator;
            0   22     1                            params  Ljava/util/Properties;
            0   22     2                   jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            0   22     3                   serviceRegistry  Lorg/hibernate/service/ServiceRegistry;
            1   22     4                 fallbackTableName  Ljava/lang/String;
            4   22     5  preferGeneratorNameAsDefaultName  Ljava/lang/Boolean;
            6    8     6                     generatorName  Ljava/lang/String;
            9   22     6                         tableName  Ljava/lang/String;
           14   22     7                           catalog  Lorg/hibernate/boot/model/naming/Identifier;
           17   22     8                            schema  Lorg/hibernate/boot/model/naming/Identifier;
    MethodParameters:
                 Name  Flags
      params           
      jdbcEnvironment  
      serviceRegistry  

  protected java.lang.String determineSegmentColumnName(java.util.Properties, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment);
    descriptor: (Ljava/util/Properties;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.util.Properties params
        start local 2 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
         0: .line 450
            ldc "segment_column_name"
            aload 1 /* params */
            ldc "sequence_name"
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getString:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 451
            aload 2 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper:()Lorg/hibernate/engine/jdbc/env/spi/IdentifierHelper;
            aload 3 /* name */
            invokeinterface org.hibernate.engine.jdbc.env.spi.IdentifierHelper.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
            aload 2 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.boot.model.naming.Identifier.render:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String name
        end local 2 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 1 // java.util.Properties params
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    2     1           params  Ljava/util/Properties;
            0    2     2  jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            1    2     3             name  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      params           
      jdbcEnvironment  

  protected java.lang.String determineValueColumnName(java.util.Properties, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment);
    descriptor: (Ljava/util/Properties;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.util.Properties params
        start local 2 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
         0: .line 466
            ldc "value_column_name"
            aload 1 /* params */
            ldc "next_val"
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getString:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 467
            aload 2 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper:()Lorg/hibernate/engine/jdbc/env/spi/IdentifierHelper;
            aload 3 /* name */
            invokeinterface org.hibernate.engine.jdbc.env.spi.IdentifierHelper.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
            aload 2 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.boot.model.naming.Identifier.render:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String name
        end local 2 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 1 // java.util.Properties params
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    2     1           params  Ljava/util/Properties;
            0    2     2  jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            1    2     3             name  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      params           
      jdbcEnvironment  

  protected java.lang.String determineSegmentValue(java.util.Properties);
    descriptor: (Ljava/util/Properties;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.util.Properties params
         0: .line 481
            aload 1 /* params */
            ldc "segment_value"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* segmentValue */
        start local 2 // java.lang.String segmentValue
         1: .line 482
            aload 2 /* segmentValue */
            invokestatic org.hibernate.internal.util.StringHelper.isEmpty:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 483
            aload 0 /* this */
            aload 1 /* params */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.determineDefaultSegmentValue:(Ljava/util/Properties;)Ljava/lang/String;
            astore 2 /* segmentValue */
         3: .line 485
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* segmentValue */
            areturn
        end local 2 // java.lang.String segmentValue
        end local 1 // java.util.Properties params
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    4     1        params  Ljava/util/Properties;
            1    4     2  segmentValue  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      params  

  protected java.lang.String determineDefaultSegmentValue(java.util.Properties);
    descriptor: (Ljava/util/Properties;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.util.Properties params
         0: .line 497
            ldc "prefer_entity_table_as_segment_value"
            aload 1 /* params */
            iconst_0
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getBoolean:(Ljava/lang/String;Ljava/util/Map;Z)Z
            istore 2 /* preferSegmentPerEntity */
        start local 2 // boolean preferSegmentPerEntity
         1: .line 498
            iload 2 /* preferSegmentPerEntity */
            ifeq 2
            aload 1 /* params */
            ldc "target_table"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: ldc "default"
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 3 /* defaultToUse */
        start local 3 // java.lang.String defaultToUse
         4: .line 499
            getstatic org.hibernate.id.enhanced.TableGenerator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.qualifiedTableName:Lorg/hibernate/boot/model/relational/QualifiedName;
            invokeinterface org.hibernate.boot.model.relational.QualifiedName.render:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentColumnName:Ljava/lang/String;
            aload 3 /* defaultToUse */
            invokeinterface org.hibernate.internal.CoreMessageLogger.usingDefaultIdGeneratorSegmentValue:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 500
            aload 3 /* defaultToUse */
            areturn
        end local 3 // java.lang.String defaultToUse
        end local 2 // boolean preferSegmentPerEntity
        end local 1 // java.util.Properties params
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    6     0                    this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    6     1                  params  Ljava/util/Properties;
            1    6     2  preferSegmentPerEntity  Z
            4    6     3            defaultToUse  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      params  

  protected int determineSegmentColumnSize(java.util.Properties);
    descriptor: (Ljava/util/Properties;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.util.Properties params
         0: .line 514
            ldc "segment_value_length"
            aload 1 /* params */
            sipush 255
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getInt:(Ljava/lang/String;Ljava/util/Map;I)I
            ireturn
        end local 1 // java.util.Properties params
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    1     1  params  Ljava/util/Properties;
    MethodParameters:
        Name  Flags
      params  

  protected int determineInitialValue(java.util.Properties);
    descriptor: (Ljava/util/Properties;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.util.Properties params
         0: .line 519
            ldc "initial_value"
            aload 1 /* params */
            iconst_1
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getInt:(Ljava/lang/String;Ljava/util/Map;I)I
            ireturn
        end local 1 // java.util.Properties params
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    1     1  params  Ljava/util/Properties;
    MethodParameters:
        Name  Flags
      params  

  protected int determineIncrementSize(java.util.Properties);
    descriptor: (Ljava/util/Properties;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.util.Properties params
         0: .line 524
            ldc "increment_size"
            aload 1 /* params */
            iconst_1
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getInt:(Ljava/lang/String;Ljava/util/Map;I)I
            ireturn
        end local 1 // java.util.Properties params
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    1     1  params  Ljava/util/Properties;
    MethodParameters:
        Name  Flags
      params  

  protected java.lang.String buildSelectQuery(org.hibernate.dialect.Dialect);
    descriptor: (Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // org.hibernate.dialect.Dialect dialect
         0: .line 530
            new java.lang.StringBuilder
            dup
            ldc "select "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "tbl"
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.valueColumnName:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 531
            ldc " from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.renderedTableName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "tbl"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 532
            ldc " where "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "tbl"
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentColumnName:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "=?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 530
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* query */
        start local 2 // java.lang.String query
         4: .line 533
            new org.hibernate.LockOptions
            dup
            getstatic org.hibernate.LockMode.PESSIMISTIC_WRITE:Lorg/hibernate/LockMode;
            invokespecial org.hibernate.LockOptions.<init>:(Lorg/hibernate/LockMode;)V
            astore 3 /* lockOptions */
        start local 3 // org.hibernate.LockOptions lockOptions
         5: .line 534
            aload 3 /* lockOptions */
            ldc "tbl"
            getstatic org.hibernate.LockMode.PESSIMISTIC_WRITE:Lorg/hibernate/LockMode;
            invokevirtual org.hibernate.LockOptions.setAliasSpecificLockMode:(Ljava/lang/String;Lorg/hibernate/LockMode;)Lorg/hibernate/LockOptions;
            pop
         6: .line 535
            ldc "tbl"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.valueColumnName:Ljava/lang/String;
            aastore
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 4 /* updateTargetColumnsMap */
        start local 4 // java.util.Map updateTargetColumnsMap
         7: .line 536
            aload 1 /* dialect */
            aload 2 /* query */
            aload 3 /* lockOptions */
            aload 4 /* updateTargetColumnsMap */
            invokevirtual org.hibernate.dialect.Dialect.applyLocksToSql:(Ljava/lang/String;Lorg/hibernate/LockOptions;Ljava/util/Map;)Ljava/lang/String;
            areturn
        end local 4 // java.util.Map updateTargetColumnsMap
        end local 3 // org.hibernate.LockOptions lockOptions
        end local 2 // java.lang.String query
        end local 1 // org.hibernate.dialect.Dialect dialect
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    8     0                    this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    8     1                 dialect  Lorg/hibernate/dialect/Dialect;
            4    8     2                   query  Ljava/lang/String;
            5    8     3             lockOptions  Lorg/hibernate/LockOptions;
            7    8     4  updateTargetColumnsMap  Ljava/util/Map;
    MethodParameters:
         Name  Flags
      dialect  

  protected java.lang.String buildUpdateQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 541
            new java.lang.StringBuilder
            dup
            ldc "update "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.renderedTableName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 542
            ldc " set "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.valueColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "=? "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 543
            ldc " where "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.valueColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "=? and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "=?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 541
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  protected java.lang.String buildInsertQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 548
            new java.lang.StringBuilder
            dup
            ldc "insert into "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.renderedTableName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.valueColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " values (?,?)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  protected org.hibernate.boot.model.relational.InitCommand generateInsertInitCommand();
    descriptor: ()Lorg/hibernate/boot/model/relational/InitCommand;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=2, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 552
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.initialValue:I
            istore 1 /* value */
        start local 1 // int value
         1: .line 553
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.storeLastUsedValue:Z
            ifeq 3
         2: .line 554
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.initialValue:I
            iconst_1
            isub
            istore 1 /* value */
         3: .line 556
      StackMap locals: int
      StackMap stack:
            new org.hibernate.boot.model.relational.InitCommand
            dup
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "insert into "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.renderedTableName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.valueColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " values ('"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentValue:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "',"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* value */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokespecial org.hibernate.boot.model.relational.InitCommand.<init>:([Ljava/lang/String;)V
            areturn
        end local 1 // int value
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/hibernate/id/enhanced/TableGenerator;
            1    4     1  value  I

  private org.hibernate.id.IntegralDataTypeHolder makeValue();
    descriptor: ()Lorg/hibernate/id/IntegralDataTypeHolder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
         0: .line 560
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.identifierType:Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.getReturnedClass:()Ljava/lang/Class;
            invokestatic org.hibernate.id.IdentifierGeneratorHelper.getIntegralDataTypeHolder:(Ljava/lang/Class;)Lorg/hibernate/id/IntegralDataTypeHolder;
            areturn
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/id/enhanced/TableGenerator;

  public java.io.Serializable generate(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // java.lang.Object obj
         0: .line 565
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
         1: .line 566
            ldc Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.jdbc.spi.JdbcServices
         2: .line 567
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlStatementLogger:()Lorg/hibernate/engine/jdbc/spi/SqlStatementLogger;
         3: .line 565
            astore 3 /* statementLogger */
        start local 3 // org.hibernate.engine.jdbc.spi.SqlStatementLogger statementLogger
         4: .line 568
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getEventListenerManager:()Lorg/hibernate/engine/spi/SessionEventListenerManager;
            astore 4 /* statsCollector */
        start local 4 // org.hibernate.engine.spi.SessionEventListenerManager statsCollector
         5: .line 570
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.optimizer:Lorg/hibernate/id/enhanced/Optimizer;
         6: .line 571
            new org.hibernate.id.enhanced.TableGenerator$1
            dup
            aload 0 /* this */
            aload 1 /* session */
            aload 3 /* statementLogger */
            aload 4 /* statsCollector */
            invokespecial org.hibernate.id.enhanced.TableGenerator$1.<init>:(Lorg/hibernate/id/enhanced/TableGenerator;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/jdbc/spi/SqlStatementLogger;Lorg/hibernate/engine/spi/SessionEventListenerManager;)V
         7: .line 570
            invokeinterface org.hibernate.id.enhanced.Optimizer.generate:(Lorg/hibernate/id/enhanced/AccessCallback;)Ljava/io/Serializable;
            areturn
        end local 4 // org.hibernate.engine.spi.SessionEventListenerManager statsCollector
        end local 3 // org.hibernate.engine.jdbc.spi.SqlStatementLogger statementLogger
        end local 2 // java.lang.Object obj
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    8     1          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0    8     2              obj  Ljava/lang/Object;
            4    8     3  statementLogger  Lorg/hibernate/engine/jdbc/spi/SqlStatementLogger;
            5    8     4   statsCollector  Lorg/hibernate/engine/spi/SessionEventListenerManager;
    MethodParameters:
         Name  Flags
      session  final
      obj      final

  private java.sql.PreparedStatement prepareStatement(java.sql.Connection, java.lang.String, org.hibernate.engine.jdbc.spi.SqlStatementLogger, org.hibernate.engine.spi.SessionEventListenerManager);
    descriptor: (Ljava/sql/Connection;Ljava/lang/String;Lorg/hibernate/engine/jdbc/spi/SqlStatementLogger;Lorg/hibernate/engine/spi/SessionEventListenerManager;)Ljava/sql/PreparedStatement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.sql.Connection connection
        start local 2 // java.lang.String sql
        start local 3 // org.hibernate.engine.jdbc.spi.SqlStatementLogger statementLogger
        start local 4 // org.hibernate.engine.spi.SessionEventListenerManager statsCollector
         0: .line 681
            aload 3 /* statementLogger */
            aload 2 /* sql */
            getstatic org.hibernate.engine.jdbc.internal.FormatStyle.BASIC:Lorg/hibernate/engine/jdbc/internal/FormatStyle;
            invokevirtual org.hibernate.engine.jdbc.internal.FormatStyle.getFormatter:()Lorg/hibernate/engine/jdbc/internal/Formatter;
            invokevirtual org.hibernate.engine.jdbc.spi.SqlStatementLogger.logStatement:(Ljava/lang/String;Lorg/hibernate/engine/jdbc/internal/Formatter;)V
         1: .line 683
            aload 4 /* statsCollector */
            invokeinterface org.hibernate.engine.spi.SessionEventListenerManager.jdbcPrepareStatementStart:()V
         2: .line 684
            aload 1 /* connection */
            aload 2 /* sql */
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 6
         3: .line 687
            aload 4 /* statsCollector */
            invokeinterface org.hibernate.engine.spi.SessionEventListenerManager.jdbcPrepareStatementEnd:()V
         4: .line 684
            aload 6
            areturn
         5: .line 686
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         6: .line 687
            aload 4 /* statsCollector */
            invokeinterface org.hibernate.engine.spi.SessionEventListenerManager.jdbcPrepareStatementEnd:()V
         7: .line 688
            aload 5
            athrow
        end local 4 // org.hibernate.engine.spi.SessionEventListenerManager statsCollector
        end local 3 // org.hibernate.engine.jdbc.spi.SqlStatementLogger statementLogger
        end local 2 // java.lang.String sql
        end local 1 // java.sql.Connection connection
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    8     1       connection  Ljava/sql/Connection;
            0    8     2              sql  Ljava/lang/String;
            0    8     3  statementLogger  Lorg/hibernate/engine/jdbc/spi/SqlStatementLogger;
            0    8     4   statsCollector  Lorg/hibernate/engine/spi/SessionEventListenerManager;
      Exception table:
        from    to  target  type
           1     3       5  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                 Name  Flags
      connection       
      sql              
      statementLogger  
      statsCollector   

  private int executeUpdate(java.sql.PreparedStatement, org.hibernate.engine.spi.SessionEventListenerManager);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SessionEventListenerManager;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=5, args_size=3
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.sql.PreparedStatement ps
        start local 2 // org.hibernate.engine.spi.SessionEventListenerManager statsCollector
         0: .line 693
            aload 2 /* statsCollector */
            invokeinterface org.hibernate.engine.spi.SessionEventListenerManager.jdbcExecuteStatementStart:()V
         1: .line 694
            aload 1 /* ps */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            istore 4
         2: .line 697
            aload 2 /* statsCollector */
            invokeinterface org.hibernate.engine.spi.SessionEventListenerManager.jdbcExecuteStatementEnd:()V
         3: .line 694
            iload 4
            ireturn
         4: .line 696
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
         5: .line 697
            aload 2 /* statsCollector */
            invokeinterface org.hibernate.engine.spi.SessionEventListenerManager.jdbcExecuteStatementEnd:()V
         6: .line 698
            aload 3
            athrow
        end local 2 // org.hibernate.engine.spi.SessionEventListenerManager statsCollector
        end local 1 // java.sql.PreparedStatement ps
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    7     1              ps  Ljava/sql/PreparedStatement;
            0    7     2  statsCollector  Lorg/hibernate/engine/spi/SessionEventListenerManager;
      Exception table:
        from    to  target  type
           0     2       4  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                Name  Flags
      ps              
      statsCollector  

  private java.sql.ResultSet executeQuery(java.sql.PreparedStatement, org.hibernate.engine.spi.SessionEventListenerManager);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SessionEventListenerManager;)Ljava/sql/ResultSet;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=5, args_size=3
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // java.sql.PreparedStatement ps
        start local 2 // org.hibernate.engine.spi.SessionEventListenerManager statsCollector
         0: .line 704
            aload 2 /* statsCollector */
            invokeinterface org.hibernate.engine.spi.SessionEventListenerManager.jdbcExecuteStatementStart:()V
         1: .line 705
            aload 1 /* ps */
            invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
            astore 4
         2: .line 708
            aload 2 /* statsCollector */
            invokeinterface org.hibernate.engine.spi.SessionEventListenerManager.jdbcExecuteStatementEnd:()V
         3: .line 705
            aload 4
            areturn
         4: .line 707
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
         5: .line 708
            aload 2 /* statsCollector */
            invokeinterface org.hibernate.engine.spi.SessionEventListenerManager.jdbcExecuteStatementEnd:()V
         6: .line 709
            aload 3
            athrow
        end local 2 // org.hibernate.engine.spi.SessionEventListenerManager statsCollector
        end local 1 // java.sql.PreparedStatement ps
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    7     1              ps  Ljava/sql/PreparedStatement;
            0    7     2  statsCollector  Lorg/hibernate/engine/spi/SessionEventListenerManager;
      Exception table:
        from    to  target  type
           0     2       4  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                Name  Flags
      ps              
      statsCollector  

  public java.lang.String[] sqlCreateStrings(org.hibernate.dialect.Dialect);
    descriptor: (Lorg/hibernate/dialect/Dialect;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // org.hibernate.dialect.Dialect dialect
         0: .line 714
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 715
            new java.lang.StringBuilder
            dup
            aload 1 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.getCreateTableString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.renderedTableName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ( "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 716
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* dialect */
            bipush 12
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentValueLength:I
            i2l
            iconst_0
            iconst_0
            invokevirtual org.hibernate.dialect.Dialect.getTypeName:(IJII)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not null "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 717
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.valueColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* dialect */
            bipush -5
            invokevirtual org.hibernate.dialect.Dialect.getTypeName:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 718
            ldc ", primary key ( "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ) )"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.getTableTypeString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 715
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
         6: .line 714
            areturn
        end local 1 // org.hibernate.dialect.Dialect dialect
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    7     1  dialect  Lorg/hibernate/dialect/Dialect;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      dialect  

  public java.lang.String[] sqlDropStrings(org.hibernate.dialect.Dialect);
    descriptor: (Lorg/hibernate/dialect/Dialect;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // org.hibernate.dialect.Dialect dialect
         0: .line 724
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* dialect */
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.renderedTableName:Ljava/lang/String;
            invokevirtual org.hibernate.dialect.Dialect.getDropTableString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            areturn
        end local 1 // org.hibernate.dialect.Dialect dialect
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/id/enhanced/TableGenerator;
            0    1     1  dialect  Lorg/hibernate/dialect/Dialect;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      dialect  

  public void registerExportables(org.hibernate.boot.model.relational.Database);
    descriptor: (Lorg/hibernate/boot/model/relational/Database;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=7, args_size=2
        start local 0 // org.hibernate.id.enhanced.TableGenerator this
        start local 1 // org.hibernate.boot.model.relational.Database database
         0: .line 729
            aload 1 /* database */
            invokevirtual org.hibernate.boot.model.relational.Database.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
            astore 2 /* dialect */
        start local 2 // org.hibernate.dialect.Dialect dialect
         1: .line 731
            aload 1 /* database */
         2: .line 732
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.qualifiedTableName:Lorg/hibernate/boot/model/relational/QualifiedName;
            invokeinterface org.hibernate.boot.model.relational.QualifiedName.getCatalogName:()Lorg/hibernate/boot/model/naming/Identifier;
         3: .line 733
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.qualifiedTableName:Lorg/hibernate/boot/model/relational/QualifiedName;
            invokeinterface org.hibernate.boot.model.relational.QualifiedName.getSchemaName:()Lorg/hibernate/boot/model/naming/Identifier;
         4: .line 731
            invokevirtual org.hibernate.boot.model.relational.Database.locateNamespace:(Lorg/hibernate/boot/model/naming/Identifier;Lorg/hibernate/boot/model/naming/Identifier;)Lorg/hibernate/boot/model/relational/Namespace;
            astore 3 /* namespace */
        start local 3 // org.hibernate.boot.model.relational.Namespace namespace
         5: .line 736
            aload 3 /* namespace */
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.qualifiedTableName:Lorg/hibernate/boot/model/relational/QualifiedName;
            invokeinterface org.hibernate.boot.model.relational.QualifiedName.getObjectName:()Lorg/hibernate/boot/model/naming/Identifier;
            invokevirtual org.hibernate.boot.model.relational.Namespace.locateTable:(Lorg/hibernate/boot/model/naming/Identifier;)Lorg/hibernate/mapping/Table;
            astore 4 /* table */
        start local 4 // org.hibernate.mapping.Table table
         6: .line 737
            aload 4 /* table */
            ifnonnull 26
         7: .line 738
            aload 3 /* namespace */
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.qualifiedTableName:Lorg/hibernate/boot/model/relational/QualifiedName;
            invokeinterface org.hibernate.boot.model.relational.QualifiedName.getObjectName:()Lorg/hibernate/boot/model/naming/Identifier;
            iconst_0
            invokevirtual org.hibernate.boot.model.relational.Namespace.createTable:(Lorg/hibernate/boot/model/naming/Identifier;Z)Lorg/hibernate/mapping/Table;
            astore 4 /* table */
         8: .line 741
            new org.hibernate.id.ExportableColumn
            dup
         9: .line 742
            aload 1 /* database */
        10: .line 743
            aload 4 /* table */
        11: .line 744
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentColumnName:Ljava/lang/String;
        12: .line 745
            getstatic org.hibernate.type.StringType.INSTANCE:Lorg/hibernate/type/StringType;
        13: .line 746
            aload 2 /* dialect */
            bipush 12
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.segmentValueLength:I
            i2l
            iconst_0
            iconst_0
            invokevirtual org.hibernate.dialect.Dialect.getTypeName:(IJII)Ljava/lang/String;
        14: .line 741
            invokespecial org.hibernate.id.ExportableColumn.<init>:(Lorg/hibernate/boot/model/relational/Database;Lorg/hibernate/mapping/Table;Ljava/lang/String;Lorg/hibernate/type/BasicType;Ljava/lang/String;)V
            astore 5 /* segmentColumn */
        start local 5 // org.hibernate.mapping.Column segmentColumn
        15: .line 748
            aload 5 /* segmentColumn */
            iconst_0
            invokevirtual org.hibernate.mapping.Column.setNullable:(Z)V
        16: .line 749
            aload 4 /* table */
            aload 5 /* segmentColumn */
            invokevirtual org.hibernate.mapping.Table.addColumn:(Lorg/hibernate/mapping/Column;)V
        17: .line 752
            aload 4 /* table */
            new org.hibernate.mapping.PrimaryKey
            dup
            aload 4 /* table */
            invokespecial org.hibernate.mapping.PrimaryKey.<init>:(Lorg/hibernate/mapping/Table;)V
            invokevirtual org.hibernate.mapping.Table.setPrimaryKey:(Lorg/hibernate/mapping/PrimaryKey;)V
        18: .line 753
            aload 4 /* table */
            invokevirtual org.hibernate.mapping.Table.getPrimaryKey:()Lorg/hibernate/mapping/PrimaryKey;
            aload 5 /* segmentColumn */
            invokevirtual org.hibernate.mapping.PrimaryKey.addColumn:(Lorg/hibernate/mapping/Column;)V
        19: .line 755
            new org.hibernate.id.ExportableColumn
            dup
        20: .line 756
            aload 1 /* database */
        21: .line 757
            aload 4 /* table */
        22: .line 758
            aload 0 /* this */
            getfield org.hibernate.id.enhanced.TableGenerator.valueColumnName:Ljava/lang/String;
        23: .line 759
            getstatic org.hibernate.type.LongType.INSTANCE:Lorg/hibernate/type/LongType;
        24: .line 755
            invokespecial org.hibernate.id.ExportableColumn.<init>:(Lorg/hibernate/boot/model/relational/Database;Lorg/hibernate/mapping/Table;Ljava/lang/String;Lorg/hibernate/type/BasicType;)V
            astore 6 /* valueColumn */
        start local 6 // org.hibernate.mapping.Column valueColumn
        25: .line 761
            aload 4 /* table */
            aload 6 /* valueColumn */
            invokevirtual org.hibernate.mapping.Table.addColumn:(Lorg/hibernate/mapping/Column;)V
        end local 6 // org.hibernate.mapping.Column valueColumn
        end local 5 // org.hibernate.mapping.Column segmentColumn
        26: .line 765
      StackMap locals: org.hibernate.dialect.Dialect org.hibernate.boot.model.relational.Namespace org.hibernate.mapping.Table
      StackMap stack:
            aload 0 /* this */
            aload 1 /* database */
            invokevirtual org.hibernate.boot.model.relational.Database.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getQualifiedObjectNameFormatter:()Lorg/hibernate/engine/jdbc/env/spi/QualifiedObjectNameFormatter;
        27: .line 766
            aload 4 /* table */
            invokevirtual org.hibernate.mapping.Table.getQualifiedTableName:()Lorg/hibernate/boot/model/relational/QualifiedTableName;
        28: .line 767
            aload 2 /* dialect */
        29: .line 765
            invokeinterface org.hibernate.engine.jdbc.env.spi.QualifiedObjectNameFormatter.format:(Lorg/hibernate/boot/model/relational/QualifiedTableName;Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            putfield org.hibernate.id.enhanced.TableGenerator.renderedTableName:Ljava/lang/String;
        30: .line 769
            aload 4 /* table */
            aload 0 /* this */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.generateInsertInitCommand:()Lorg/hibernate/boot/model/relational/InitCommand;
            invokevirtual org.hibernate.mapping.Table.addInitCommand:(Lorg/hibernate/boot/model/relational/InitCommand;)V
        31: .line 771
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* dialect */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.buildSelectQuery:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            putfield org.hibernate.id.enhanced.TableGenerator.selectQuery:Ljava/lang/String;
        32: .line 772
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.buildUpdateQuery:()Ljava/lang/String;
            putfield org.hibernate.id.enhanced.TableGenerator.updateQuery:Ljava/lang/String;
        33: .line 773
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.id.enhanced.TableGenerator.buildInsertQuery:()Ljava/lang/String;
            putfield org.hibernate.id.enhanced.TableGenerator.insertQuery:Ljava/lang/String;
        34: .line 774
            return
        end local 4 // org.hibernate.mapping.Table table
        end local 3 // org.hibernate.boot.model.relational.Namespace namespace
        end local 2 // org.hibernate.dialect.Dialect dialect
        end local 1 // org.hibernate.boot.model.relational.Database database
        end local 0 // org.hibernate.id.enhanced.TableGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   35     0           this  Lorg/hibernate/id/enhanced/TableGenerator;
            0   35     1       database  Lorg/hibernate/boot/model/relational/Database;
            1   35     2        dialect  Lorg/hibernate/dialect/Dialect;
            5   35     3      namespace  Lorg/hibernate/boot/model/relational/Namespace;
            6   35     4          table  Lorg/hibernate/mapping/Table;
           15   26     5  segmentColumn  Lorg/hibernate/mapping/Column;
           25   26     6    valueColumn  Lorg/hibernate/mapping/Column;
    MethodParameters:
          Name  Flags
      database  
}
SourceFile: "TableGenerator.java"
NestMembers:
  org.hibernate.id.enhanced.TableGenerator$1  org.hibernate.id.enhanced.TableGenerator$1$1
InnerClasses:
  public NameParts = org.hibernate.boot.model.relational.QualifiedNameParser$NameParts of org.hibernate.boot.model.relational.QualifiedNameParser
  public abstract Converter = org.hibernate.engine.config.spi.ConfigurationService$Converter of org.hibernate.engine.config.spi.ConfigurationService
  org.hibernate.id.enhanced.TableGenerator$1