public class org.hibernate.id.SequenceIdentityGenerator$Delegate extends org.hibernate.id.insert.AbstractReturningDelegate
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.id.SequenceIdentityGenerator$Delegate
super_class: org.hibernate.id.insert.AbstractReturningDelegate
{
private final org.hibernate.dialect.Dialect dialect;
descriptor: Lorg/hibernate/dialect/Dialect;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String sequenceNextValFragment;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String[] keyColumns;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.hibernate.id.PostInsertIdentityPersister, org.hibernate.dialect.Dialect, java.lang.String);
descriptor: (Lorg/hibernate/id/PostInsertIdentityPersister;Lorg/hibernate/dialect/Dialect;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial org.hibernate.id.insert.AbstractReturningDelegate.<init>:(Lorg/hibernate/id/PostInsertIdentityPersister;)V
1: aload 0
aload 2
putfield org.hibernate.id.SequenceIdentityGenerator$Delegate.dialect:Lorg/hibernate/dialect/Dialect;
2: aload 0
aload 2
aload 3
invokevirtual org.hibernate.dialect.Dialect.getSelectSequenceNextValString:(Ljava/lang/String;)Ljava/lang/String;
putfield org.hibernate.id.SequenceIdentityGenerator$Delegate.sequenceNextValFragment:Ljava/lang/String;
3: aload 0
aload 0
invokevirtual org.hibernate.id.SequenceIdentityGenerator$Delegate.getPersister:()Lorg/hibernate/id/PostInsertIdentityPersister;
invokeinterface org.hibernate.id.PostInsertIdentityPersister.getRootTableKeyColumnNames:()[Ljava/lang/String;
putfield org.hibernate.id.SequenceIdentityGenerator$Delegate.keyColumns:[Ljava/lang/String;
4: aload 0
getfield org.hibernate.id.SequenceIdentityGenerator$Delegate.keyColumns:[Ljava/lang/String;
arraylength
iconst_1
if_icmple 6
5: new org.hibernate.HibernateException
dup
ldc "sequence-identity generator cannot be used with with multi-column keys"
invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: org.hibernate.id.SequenceIdentityGenerator$Delegate org.hibernate.id.PostInsertIdentityPersister org.hibernate.dialect.Dialect java.lang.String
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hibernate/id/SequenceIdentityGenerator$Delegate;
0 7 1 persister Lorg/hibernate/id/PostInsertIdentityPersister;
0 7 2 dialect Lorg/hibernate/dialect/Dialect;
0 7 3 sequenceName Ljava/lang/String;
MethodParameters:
Name Flags
persister
dialect
sequenceName
public org.hibernate.id.insert.IdentifierGeneratingInsert prepareIdentifierGeneratingInsert();
descriptor: ()Lorg/hibernate/id/insert/IdentifierGeneratingInsert;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new org.hibernate.id.SequenceIdentityGenerator$NoCommentsInsert
dup
aload 0
getfield org.hibernate.id.SequenceIdentityGenerator$Delegate.dialect:Lorg/hibernate/dialect/Dialect;
invokespecial org.hibernate.id.SequenceIdentityGenerator$NoCommentsInsert.<init>:(Lorg/hibernate/dialect/Dialect;)V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual org.hibernate.id.SequenceIdentityGenerator$Delegate.getPersister:()Lorg/hibernate/id/PostInsertIdentityPersister;
invokeinterface org.hibernate.id.PostInsertIdentityPersister.getRootTableKeyColumnNames:()[Ljava/lang/String;
iconst_0
aaload
aload 0
getfield org.hibernate.id.SequenceIdentityGenerator$Delegate.sequenceNextValFragment:Ljava/lang/String;
invokevirtual org.hibernate.id.SequenceIdentityGenerator$NoCommentsInsert.addColumn:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/Insert;
pop
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/id/SequenceIdentityGenerator$Delegate;
1 3 1 insert Lorg/hibernate/id/SequenceIdentityGenerator$NoCommentsInsert;
protected java.sql.PreparedStatement prepare(java.lang.String, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/sql/PreparedStatement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
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 1
aload 0
getfield org.hibernate.id.SequenceIdentityGenerator$Delegate.keyColumns:[Ljava/lang/String;
invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/PreparedStatement;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/id/SequenceIdentityGenerator$Delegate;
0 1 1 insertSQL Ljava/lang/String;
0 1 2 session Lorg/hibernate/engine/spi/SessionImplementor;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
insertSQL
session
protected java.io.Serializable executeAndExtract(java.sql.PreparedStatement, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
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 1
invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.executeUpdate:(Ljava/sql/PreparedStatement;)I
pop
1: aload 1
invokeinterface java.sql.PreparedStatement.getGeneratedKeys:()Ljava/sql/ResultSet;
2: aload 0
invokevirtual org.hibernate.id.SequenceIdentityGenerator$Delegate.getPersister:()Lorg/hibernate/id/PostInsertIdentityPersister;
invokeinterface org.hibernate.id.PostInsertIdentityPersister.getRootTableKeyColumnNames:()[Ljava/lang/String;
iconst_0
aaload
3: aload 0
invokevirtual org.hibernate.id.SequenceIdentityGenerator$Delegate.getPersister:()Lorg/hibernate/id/PostInsertIdentityPersister;
invokeinterface org.hibernate.id.PostInsertIdentityPersister.getIdentifierType:()Lorg/hibernate/type/Type;
4: invokestatic org.hibernate.id.IdentifierGeneratorHelper.getGeneratedIdentity:(Ljava/sql/ResultSet;Ljava/lang/String;Lorg/hibernate/type/Type;)Ljava/io/Serializable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/id/SequenceIdentityGenerator$Delegate;
0 5 1 insert Ljava/sql/PreparedStatement;
0 5 2 session Lorg/hibernate/engine/spi/SessionImplementor;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
insert
session
}
SourceFile: "SequenceIdentityGenerator.java"
NestHost: org.hibernate.id.SequenceIdentityGenerator
InnerClasses:
public Delegate = org.hibernate.id.SequenceIdentityGenerator$Delegate of org.hibernate.id.SequenceIdentityGenerator
public NoCommentsInsert = org.hibernate.id.SequenceIdentityGenerator$NoCommentsInsert of org.hibernate.id.SequenceIdentityGenerator