public class org.hibernate.id.IncrementGenerator implements org.hibernate.id.IdentifierGenerator, org.hibernate.id.Configurable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.id.IncrementGenerator
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
private java.lang.Class returnClass;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sql;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private org.hibernate.id.IntegralDataTypeHolder previousValueHolder;
descriptor: Lorg/hibernate/id/IntegralDataTypeHolder;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/hibernate/internal/CoreMessageLogger;
ldc Lorg/hibernate/id/IncrementGenerator;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.hibernate.internal.CoreMessageLogger
putstatic org.hibernate.id.IncrementGenerator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/id/IncrementGenerator;
public synchronized java.io.Serializable generate(org.hibernate.engine.spi.SessionImplementor, java.lang.Object);
descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/io/Serializable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hibernate.id.IncrementGenerator.sql:Ljava/lang/String;
ifnull 2
1: aload 0
aload 1
invokevirtual org.hibernate.id.IncrementGenerator.initializePreviousValueHolder:(Lorg/hibernate/engine/spi/SessionImplementor;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.id.IncrementGenerator.previousValueHolder:Lorg/hibernate/id/IntegralDataTypeHolder;
invokeinterface org.hibernate.id.IntegralDataTypeHolder.makeValueThenIncrement:()Ljava/lang/Number;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/id/IncrementGenerator;
0 3 1 session Lorg/hibernate/engine/spi/SessionImplementor;
0 3 2 object Ljava/lang/Object;
Exceptions:
throws org.hibernate.HibernateException
MethodParameters:
Name Flags
session
object
public void configure(org.hibernate.type.Type, java.util.Properties, org.hibernate.dialect.Dialect);
descriptor: (Lorg/hibernate/type/Type;Ljava/util/Properties;Lorg/hibernate/dialect/Dialect;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokeinterface org.hibernate.type.Type.getReturnedClass:()Ljava/lang/Class;
putfield org.hibernate.id.IncrementGenerator.returnClass:Ljava/lang/Class;
1: aload 2
ldc "identifier_normalizer"
invokevirtual java.util.Properties.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.hibernate.cfg.ObjectNameNormalizer
2: astore 4
start local 4 3: aload 2
ldc "column"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 4: aload 5
ifnonnull 6
5: aload 2
ldc "target_column"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 5
6: StackMap locals: org.hibernate.cfg.ObjectNameNormalizer java.lang.String
StackMap stack:
aload 3
aload 4
aload 5
invokevirtual org.hibernate.cfg.ObjectNameNormalizer.normalizeIdentifierQuoting:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.hibernate.dialect.Dialect.quote:(Ljava/lang/String;)Ljava/lang/String;
astore 5
7: aload 2
ldc "tables"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 8: aload 6
ifnonnull 10
9: aload 2
ldc "identity_tables"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
10: StackMap locals: java.lang.String
StackMap stack:
ldc ", "
aload 6
invokestatic org.hibernate.internal.util.StringHelper.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 7
start local 7 11: aload 3
12: aload 4
13: aload 2
ldc "schema"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
14: invokevirtual org.hibernate.cfg.ObjectNameNormalizer.normalizeIdentifierQuoting:(Ljava/lang/String;)Ljava/lang/String;
15: invokevirtual org.hibernate.dialect.Dialect.quote:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 16: aload 3
17: aload 4
18: aload 2
ldc "catalog"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
19: invokevirtual org.hibernate.cfg.ObjectNameNormalizer.normalizeIdentifierQuoting:(Ljava/lang/String;)Ljava/lang/String;
20: invokevirtual org.hibernate.dialect.Dialect.quote:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 21: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 10
start local 10 22: iconst_0
istore 11
start local 11 23: goto 31
24: StackMap locals: org.hibernate.id.IncrementGenerator org.hibernate.type.Type java.util.Properties org.hibernate.dialect.Dialect org.hibernate.cfg.ObjectNameNormalizer java.lang.String java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.StringBuilder int
StackMap stack:
aload 3
aload 4
aload 7
iload 11
aaload
invokevirtual org.hibernate.cfg.ObjectNameNormalizer.normalizeIdentifierQuoting:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.hibernate.dialect.Dialect.quote:(Ljava/lang/String;)Ljava/lang/String;
astore 12
start local 12 25: aload 7
arraylength
iconst_1
if_icmple 27
26: aload 10
ldc "select max("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") as mx from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
27: StackMap locals: java.lang.String
StackMap stack:
aload 10
aload 9
aload 8
aload 12
invokestatic org.hibernate.mapping.Table.qualify:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: iload 11
aload 7
arraylength
iconst_1
isub
if_icmpge 30
29: aload 10
ldc " union "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 12 30: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
31: iload 11
aload 7
arraylength
if_icmplt 24
end local 11 32: aload 7
arraylength
iconst_1
if_icmple 35
33: aload 10
iconst_0
ldc "( "
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
ldc " ) ids_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
34: ldc "ids_.mx"
astore 5
35: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "select max("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.hibernate.id.IncrementGenerator.sql:Ljava/lang/String;
36: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/hibernate/id/IncrementGenerator;
0 37 1 type Lorg/hibernate/type/Type;
0 37 2 params Ljava/util/Properties;
0 37 3 dialect Lorg/hibernate/dialect/Dialect;
3 37 4 normalizer Lorg/hibernate/cfg/ObjectNameNormalizer;
4 37 5 column Ljava/lang/String;
8 37 6 tableList Ljava/lang/String;
11 37 7 tables [Ljava/lang/String;
16 37 8 schema Ljava/lang/String;
21 37 9 catalog Ljava/lang/String;
22 37 10 buf Ljava/lang/StringBuilder;
23 32 11 i I
25 30 12 tableName Ljava/lang/String;
Exceptions:
throws org.hibernate.MappingException
MethodParameters:
Name Flags
type
params
dialect
private void initializePreviousValueHolder(org.hibernate.engine.spi.SessionImplementor);
descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.hibernate.id.IncrementGenerator.returnClass:Ljava/lang/Class;
invokestatic org.hibernate.id.IdentifierGeneratorHelper.getIntegralDataTypeHolder:(Ljava/lang/Class;)Lorg/hibernate/id/IntegralDataTypeHolder;
putfield org.hibernate.id.IncrementGenerator.previousValueHolder:Lorg/hibernate/id/IntegralDataTypeHolder;
1: getstatic org.hibernate.id.IncrementGenerator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
istore 2
start local 2 2: iload 2
ifeq 4
3: getstatic org.hibernate.id.IncrementGenerator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Fetching initial value: %s"
aload 0
getfield org.hibernate.id.IncrementGenerator.sql:Ljava/lang/String;
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
4: StackMap locals: int
StackMap stack:
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
aload 0
getfield org.hibernate.id.IncrementGenerator.sql:Ljava/lang/String;
invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 3
start local 3 5: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.extract:(Ljava/sql/PreparedStatement;)Ljava/sql/ResultSet;
astore 4
start local 4 6: aload 4
invokeinterface java.sql.ResultSet.next:()Z
ifeq 7
aload 0
getfield org.hibernate.id.IncrementGenerator.previousValueHolder:Lorg/hibernate/id/IntegralDataTypeHolder;
aload 4
lconst_0
invokeinterface org.hibernate.id.IntegralDataTypeHolder.initialize:(Ljava/sql/ResultSet;J)Lorg/hibernate/id/IntegralDataTypeHolder;
invokeinterface org.hibernate.id.IntegralDataTypeHolder.increment:()Lorg/hibernate/id/IntegralDataTypeHolder;
pop
goto 8
7: StackMap locals: java.sql.PreparedStatement java.sql.ResultSet
StackMap stack:
aload 0
getfield org.hibernate.id.IncrementGenerator.previousValueHolder:Lorg/hibernate/id/IntegralDataTypeHolder;
lconst_1
invokeinterface org.hibernate.id.IntegralDataTypeHolder.initialize:(J)Lorg/hibernate/id/IntegralDataTypeHolder;
pop
8: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.hibernate.id.IncrementGenerator.sql:Ljava/lang/String;
9: iload 2
ifeq 15
10: getstatic org.hibernate.id.IncrementGenerator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "First free id: %s"
aload 0
getfield org.hibernate.id.IncrementGenerator.previousValueHolder:Lorg/hibernate/id/IntegralDataTypeHolder;
invokeinterface org.hibernate.id.IntegralDataTypeHolder.makeValue:()Ljava/lang/Number;
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
11: goto 15
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
13: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 4
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
14: aload 5
athrow
15: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 4
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
end local 4 16: goto 20
17: StackMap locals: org.hibernate.id.IncrementGenerator org.hibernate.engine.spi.SessionImplementor int java.sql.PreparedStatement
StackMap stack: java.lang.Throwable
astore 6
18: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
19: aload 6
athrow
20: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 3
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
end local 3 21: goto 28
22: StackMap locals: org.hibernate.id.IncrementGenerator org.hibernate.engine.spi.SessionImplementor int
StackMap stack: java.sql.SQLException
astore 3
start local 3 23: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
24: aload 3
25: ldc "could not fetch initial value for increment generator"
26: aload 0
getfield org.hibernate.id.IncrementGenerator.sql:Ljava/lang/String;
27: invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
athrow
end local 3 28: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/hibernate/id/IncrementGenerator;
0 29 1 session Lorg/hibernate/engine/spi/SessionImplementor;
2 29 2 debugEnabled Z
5 21 3 st Ljava/sql/PreparedStatement;
6 16 4 rs Ljava/sql/ResultSet;
23 28 3 sqle Ljava/sql/SQLException;
Exception table:
from to target type
6 12 12 any
5 17 17 any
4 21 22 Class java.sql.SQLException
MethodParameters:
Name Flags
session
}
SourceFile: "IncrementGenerator.java"