public abstract class org.hibernate.id.insert.AbstractSelectingDelegate implements org.hibernate.id.insert.InsertGeneratedIdentifierDelegate
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.hibernate.id.insert.AbstractSelectingDelegate
super_class: java.lang.Object
{
private final org.hibernate.id.PostInsertIdentityPersister persister;
descriptor: Lorg/hibernate/id/PostInsertIdentityPersister;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(org.hibernate.id.PostInsertIdentityPersister);
descriptor: (Lorg/hibernate/id/PostInsertIdentityPersister;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.hibernate.id.insert.AbstractSelectingDelegate.persister:Lorg/hibernate/id/PostInsertIdentityPersister;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/id/insert/AbstractSelectingDelegate;
0 3 1 persister Lorg/hibernate/id/PostInsertIdentityPersister;
MethodParameters:
Name Flags
persister
public final java.io.Serializable performInsert(java.lang.String, org.hibernate.engine.spi.SessionImplementor, org.hibernate.id.insert.Binder);
descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/id/insert/Binder;)Ljava/io/Serializable;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
1: invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
2: invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
3: aload 1
iconst_2
invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;I)Ljava/sql/PreparedStatement;
4: astore 4
start local 4 5: aload 3
aload 4
invokeinterface org.hibernate.id.insert.Binder.bindValues:(Ljava/sql/PreparedStatement;)V
6: 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 4
invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.executeUpdate:(Ljava/sql/PreparedStatement;)I
pop
7: goto 11
8: StackMap locals: org.hibernate.id.insert.AbstractSelectingDelegate java.lang.String org.hibernate.engine.spi.SessionImplementor org.hibernate.id.insert.Binder java.sql.PreparedStatement
StackMap stack: java.lang.Throwable
astore 5
9: 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;
aload 4
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
10: aload 5
athrow
11: StackMap locals:
StackMap stack:
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;
aload 4
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
end local 4 12: goto 19
13: StackMap locals: org.hibernate.id.insert.AbstractSelectingDelegate java.lang.String org.hibernate.engine.spi.SessionImplementor org.hibernate.id.insert.Binder
StackMap stack: java.sql.SQLException
astore 4
start local 4 14: aload 2
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;
15: aload 4
16: new java.lang.StringBuilder
dup
ldc "could not insert: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.id.insert.AbstractSelectingDelegate.persister:Lorg/hibernate/id/PostInsertIdentityPersister;
invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: aload 1
18: invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
athrow
end local 4 19: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hibernate.id.insert.AbstractSelectingDelegate.getSelectSQL:()Ljava/lang/String;
astore 4
start local 4 20: aload 2
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
21: invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
22: invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
23: aload 4
iconst_0
invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
24: astore 5
start local 5 25: aload 0
aload 2
aload 5
aload 3
invokeinterface org.hibernate.id.insert.Binder.getEntity:()Ljava/lang/Object;
invokevirtual org.hibernate.id.insert.AbstractSelectingDelegate.bindParameters:(Lorg/hibernate/engine/spi/SessionImplementor;Ljava/sql/PreparedStatement;Ljava/lang/Object;)V
26: 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 5
invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.extract:(Ljava/sql/PreparedStatement;)Ljava/sql/ResultSet;
astore 6
start local 6 27: aload 0
aload 2
aload 6
aload 3
invokeinterface org.hibernate.id.insert.Binder.getEntity:()Ljava/lang/Object;
invokevirtual org.hibernate.id.insert.AbstractSelectingDelegate.getResult:(Lorg/hibernate/engine/spi/SessionImplementor;Ljava/sql/ResultSet;Ljava/lang/Object;)Ljava/io/Serializable;
astore 8
28: 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;
aload 6
aload 5
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
29: 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;
aload 5
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
30: aload 8
areturn
31: StackMap locals: org.hibernate.id.insert.AbstractSelectingDelegate java.lang.String org.hibernate.engine.spi.SessionImplementor org.hibernate.id.insert.Binder java.lang.String java.sql.PreparedStatement java.sql.ResultSet
StackMap stack: java.lang.Throwable
astore 7
32: 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;
aload 6
aload 5
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
33: aload 7
athrow
end local 6 34: StackMap locals: org.hibernate.id.insert.AbstractSelectingDelegate java.lang.String org.hibernate.engine.spi.SessionImplementor org.hibernate.id.insert.Binder java.lang.String java.sql.PreparedStatement
StackMap stack: java.lang.Throwable
astore 9
35: 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;
aload 5
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
36: aload 9
athrow
end local 5 37: StackMap locals: org.hibernate.id.insert.AbstractSelectingDelegate java.lang.String org.hibernate.engine.spi.SessionImplementor org.hibernate.id.insert.Binder java.lang.String
StackMap stack: java.sql.SQLException
astore 5
start local 5 38: aload 2
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;
39: aload 5
40: new java.lang.StringBuilder
dup
ldc "could not retrieve generated id after insert: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.id.insert.AbstractSelectingDelegate.persister:Lorg/hibernate/id/PostInsertIdentityPersister;
invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
41: aload 1
42: invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
athrow
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 43 0 this Lorg/hibernate/id/insert/AbstractSelectingDelegate;
0 43 1 insertSQL Ljava/lang/String;
0 43 2 session Lorg/hibernate/engine/spi/SessionImplementor;
0 43 3 binder Lorg/hibernate/id/insert/Binder;
5 12 4 insert Ljava/sql/PreparedStatement;
14 19 4 sqle Ljava/sql/SQLException;
20 43 4 selectSQL Ljava/lang/String;
25 37 5 idSelect Ljava/sql/PreparedStatement;
27 34 6 rs Ljava/sql/ResultSet;
38 43 5 sqle Ljava/sql/SQLException;
Exception table:
from to target type
5 8 8 any
0 12 13 Class java.sql.SQLException
27 28 31 any
25 29 34 any
31 34 34 any
20 30 37 Class java.sql.SQLException
31 37 37 Class java.sql.SQLException
MethodParameters:
Name Flags
insertSQL
session
binder
protected abstract java.lang.String getSelectSQL();
descriptor: ()Ljava/lang/String;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected void bindParameters(org.hibernate.engine.spi.SessionImplementor, java.sql.PreparedStatement, java.lang.Object);
descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;Ljava/sql/PreparedStatement;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/id/insert/AbstractSelectingDelegate;
0 1 1 session Lorg/hibernate/engine/spi/SessionImplementor;
0 1 2 ps Ljava/sql/PreparedStatement;
0 1 3 entity Ljava/lang/Object;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
session
ps
entity
protected abstract java.io.Serializable getResult(org.hibernate.engine.spi.SessionImplementor, java.sql.ResultSet, java.lang.Object);
descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;Ljava/sql/ResultSet;Ljava/lang/Object;)Ljava/io/Serializable;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
session
rs
entity
}
SourceFile: "AbstractSelectingDelegate.java"