public class org.hibernate.id.SelectGenerator$SelectGeneratorDelegate extends org.hibernate.id.insert.AbstractSelectingDelegate implements org.hibernate.id.insert.InsertGeneratedIdentifierDelegate
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.id.SelectGenerator$SelectGeneratorDelegate
super_class: org.hibernate.id.insert.AbstractSelectingDelegate
{
private final org.hibernate.id.PostInsertIdentityPersister persister;
descriptor: Lorg/hibernate/id/PostInsertIdentityPersister;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.dialect.Dialect dialect;
descriptor: Lorg/hibernate/dialect/Dialect;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String uniqueKeyPropertyName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.type.Type uniqueKeyType;
descriptor: Lorg/hibernate/type/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.type.Type idType;
descriptor: Lorg/hibernate/type/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String idSelectString;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private 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: (0x0002) ACC_PRIVATE
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.AbstractSelectingDelegate.<init>:(Lorg/hibernate/id/PostInsertIdentityPersister;)V
1: aload 0
aload 1
putfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.persister:Lorg/hibernate/id/PostInsertIdentityPersister;
2: aload 0
aload 2
putfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.dialect:Lorg/hibernate/dialect/Dialect;
3: aload 0
aload 1
aload 3
invokestatic org.hibernate.id.SelectGenerator.determineNameOfPropertyToUse:(Lorg/hibernate/id/PostInsertIdentityPersister;Ljava/lang/String;)Ljava/lang/String;
putfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.uniqueKeyPropertyName:Ljava/lang/String;
4: aload 0
aload 1
aload 0
getfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.uniqueKeyPropertyName:Ljava/lang/String;
invokeinterface org.hibernate.id.PostInsertIdentityPersister.getSelectByUniqueKeyString:(Ljava/lang/String;)Ljava/lang/String;
putfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.idSelectString:Ljava/lang/String;
5: aload 0
aload 1
aload 0
getfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.uniqueKeyPropertyName:Ljava/lang/String;
invokeinterface org.hibernate.id.PostInsertIdentityPersister.getPropertyType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
putfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.uniqueKeyType:Lorg/hibernate/type/Type;
6: aload 0
aload 1
invokeinterface org.hibernate.id.PostInsertIdentityPersister.getIdentifierType:()Lorg/hibernate/type/Type;
putfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.idType:Lorg/hibernate/type/Type;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hibernate/id/SelectGenerator$SelectGeneratorDelegate;
0 8 1 persister Lorg/hibernate/id/PostInsertIdentityPersister;
0 8 2 dialect Lorg/hibernate/dialect/Dialect;
0 8 3 suppliedUniqueKeyPropertyName Ljava/lang/String;
MethodParameters:
Name Flags
persister
dialect
suppliedUniqueKeyPropertyName
public org.hibernate.id.insert.IdentifierGeneratingInsert prepareIdentifierGeneratingInsert();
descriptor: ()Lorg/hibernate/id/insert/IdentifierGeneratingInsert;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.hibernate.id.insert.IdentifierGeneratingInsert
dup
aload 0
getfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.dialect:Lorg/hibernate/dialect/Dialect;
invokespecial org.hibernate.id.insert.IdentifierGeneratingInsert.<init>:(Lorg/hibernate/dialect/Dialect;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/id/SelectGenerator$SelectGeneratorDelegate;
protected java.lang.String getSelectSQL();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.idSelectString:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/id/SelectGenerator$SelectGeneratorDelegate;
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=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.persister:Lorg/hibernate/id/PostInsertIdentityPersister;
aload 3
aload 0
getfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.uniqueKeyPropertyName:Ljava/lang/String;
invokeinterface org.hibernate.id.PostInsertIdentityPersister.getPropertyValue:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 4
start local 4 1: aload 0
getfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.uniqueKeyType:Lorg/hibernate/type/Type;
aload 2
aload 4
iconst_1
aload 1
invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/id/SelectGenerator$SelectGeneratorDelegate;
0 3 1 session Lorg/hibernate/engine/spi/SessionImplementor;
0 3 2 ps Ljava/sql/PreparedStatement;
0 3 3 entity Ljava/lang/Object;
1 3 4 uniqueKeyValue Ljava/lang/Object;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
session
ps
entity
protected 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: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface java.sql.ResultSet.next:()Z
ifne 6
1: new org.hibernate.id.IdentifierGenerationException
dup
2: new java.lang.StringBuilder
dup
ldc "the inserted row could not be located by the unique key: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
getfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.uniqueKeyPropertyName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial org.hibernate.id.IdentifierGenerationException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.idType:Lorg/hibernate/type/Type;
7: aload 2
8: aload 0
getfield org.hibernate.id.SelectGenerator$SelectGeneratorDelegate.persister:Lorg/hibernate/id/PostInsertIdentityPersister;
invokeinterface org.hibernate.id.PostInsertIdentityPersister.getRootTableKeyColumnNames:()[Ljava/lang/String;
9: aload 1
10: aload 3
11: invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.Serializable
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hibernate/id/SelectGenerator$SelectGeneratorDelegate;
0 12 1 session Lorg/hibernate/engine/spi/SessionImplementor;
0 12 2 rs Ljava/sql/ResultSet;
0 12 3 entity Ljava/lang/Object;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
session
rs
entity
}
SourceFile: "SelectGenerator.java"
NestHost: org.hibernate.id.SelectGenerator
InnerClasses:
public SelectGeneratorDelegate = org.hibernate.id.SelectGenerator$SelectGeneratorDelegate of org.hibernate.id.SelectGenerator