class org.hibernate.engine.spi.ActionQueue$InsertActionSorter implements org.hibernate.engine.spi.ExecutableList$Sorter<org.hibernate.action.internal.AbstractEntityInsertAction>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.hibernate.engine.spi.ActionQueue$InsertActionSorter
super_class: java.lang.Object
{
public static final org.hibernate.engine.spi.ActionQueue$InsertActionSorter INSTANCE;
descriptor: Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private java.util.List<org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier> latestBatches;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;>;
private java.util.Map<org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier, java.util.List<org.hibernate.action.internal.AbstractEntityInsertAction>> actionBatches;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;Ljava/util/List<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.hibernate.engine.spi.ActionQueue$InsertActionSorter
dup
invokespecial org.hibernate.engine.spi.ActionQueue$InsertActionSorter.<init>:()V
putstatic org.hibernate.engine.spi.ActionQueue$InsertActionSorter.INSTANCE:Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
public void sort(java.util.List<org.hibernate.action.internal.AbstractEntityInsertAction>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 20
StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter java.util.List top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.action.internal.AbstractEntityInsertAction
astore 2
start local 2 4: new org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier
dup
5: aload 2
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getEntityName:()Ljava/lang/String;
6: aload 2
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
7: invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
8: invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
9: aload 2
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getEntityName:()Ljava/lang/String;
invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
10: invokeinterface org.hibernate.persister.entity.EntityPersister.getRootEntityName:()Ljava/lang/String;
11: invokespecial org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 4
start local 4 12: aload 2
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getInstance:()Ljava/lang/Object;
pop
13: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
aload 4
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 5
start local 5 14: iload 5
iconst_m1
if_icmpeq 17
15: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier
astore 4
16: goto 18
17: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter java.util.List org.hibernate.action.internal.AbstractEntityInsertAction java.util.Iterator org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier int
StackMap stack:
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 4
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter.addParentChildEntityNames:(Lorg/hibernate/action/internal/AbstractEntityInsertAction;Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;)V
19: aload 0
aload 4
aload 2
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter.addToBatch:(Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;Lorg/hibernate/action/internal/AbstractEntityInsertAction;)V
end local 5 end local 4 end local 2 20: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
21: aload 1
invokeinterface java.util.List.clear:()V
22: iconst_0
istore 2
start local 2 23: goto 44
24: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter java.util.List int
StackMap stack:
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier
astore 3
start local 3 25: iload 2
iconst_1
isub
istore 4
start local 4 26: goto 33
27: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier int
StackMap stack:
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier
astore 5
start local 5 28: aload 5
aload 3
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.hasAnyParentEntityNames:(Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;)Z
ifeq 30
29: aload 5
aload 3
putfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.parent:Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
30: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier
StackMap stack:
aload 3
aload 5
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.hasAnyChildEntityNames:(Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;)Z
ifeq 32
31: aload 5
aload 3
putfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.parent:Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
end local 5 32: StackMap locals:
StackMap stack:
iinc 4 -1
StackMap locals:
StackMap stack:
33: iload 4
ifge 27
end local 4 34: iload 2
iconst_1
iadd
istore 4
start local 4 35: goto 42
36: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier
astore 5
start local 5 37: aload 5
aload 3
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.hasAnyParentEntityNames:(Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;)Z
ifeq 39
38: aload 5
aload 3
putfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.parent:Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
39: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier
StackMap stack:
aload 3
aload 5
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.hasAnyChildEntityNames:(Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;)Z
ifeq 41
40: aload 5
aload 3
putfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.parent:Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
end local 5 41: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
42: iload 4
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 36
end local 4 end local 3 43: iinc 2 1
StackMap locals:
StackMap stack:
44: iload 2
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 24
end local 2 45: iconst_0
istore 2
start local 2 46: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
invokeinterface java.util.List.size:()I
imul
i2l
lstore 3
start local 3 47: lconst_0
lstore 5
start local 5 48: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter java.util.List int long long
StackMap stack:
lload 5
lconst_1
ladd
lstore 5
49: iconst_0
istore 7
start local 7 50: goto 62
51: StackMap locals: int
StackMap stack:
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier
astore 8
start local 8 52: iload 7
iconst_1
iadd
istore 9
start local 9 53: goto 60
54: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier int
StackMap stack:
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier
astore 10
start local 10 55: aload 8
aload 10
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.hasParent:(Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;)Z
ifeq 59
aload 10
aload 8
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.hasParent:(Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;)Z
ifne 59
56: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
aload 8
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
57: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
iload 9
aload 8
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
58: goto 64
end local 10 59: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
60: iload 9
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 54
end local 9 end local 8 61: iinc 7 1
StackMap locals:
StackMap stack:
62: iload 7
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 51
end local 7 63: iconst_1
istore 2
64: StackMap locals:
StackMap stack:
iload 2
ifne 66
lload 5
lload 3
65: lcmp
ifle 48
66: StackMap locals:
StackMap stack:
lload 5
lload 3
lcmp
ifle 70
67: getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
new java.lang.StringBuilder
dup
ldc "The batch containing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " statements could not be sorted after "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " iterations. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
68: ldc "This might indicate a circular entity relationship."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
69: invokeinterface org.hibernate.internal.CoreMessageLogger.warn:(Ljava/lang/Object;)V
70: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 74
StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter java.util.List int long long top java.util.Iterator
StackMap stack:
71: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier
astore 7
start local 7 72: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 9
start local 9 73: aload 1
aload 9
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 9 end local 7 74: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 71
75: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 76 0 this Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
0 76 1 insertions Ljava/util/List<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;
4 20 2 action Lorg/hibernate/action/internal/AbstractEntityInsertAction;
12 20 4 batchIdentifier Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
14 20 5 index I
23 45 2 i I
25 43 3 batchIdentifier Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
26 34 4 j I
28 32 5 prevBatchIdentifier Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
35 43 4 j I
37 41 5 nextBatchIdentifier Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
46 76 2 sorted Z
47 76 3 maxIterations J
48 76 5 iterations J
50 63 7 i I
52 61 8 batchIdentifier Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
53 61 9 j I
55 59 10 nextBatchIdentifier Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
72 74 7 rootIdentifier Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
73 74 9 batch Ljava/util/List<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;
Signature: (Ljava/util/List<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;)V
MethodParameters:
Name Flags
insertions
private void addParentChildEntityNames(org.hibernate.action.internal.AbstractEntityInsertAction, org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier);
descriptor: (Lorg/hibernate/action/internal/AbstractEntityInsertAction;Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getState:()[Ljava/lang/Object;
astore 3
start local 3 1: aload 1
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getPersister:()Lorg/hibernate/persister/entity/EntityPersister;
invokeinterface org.hibernate.persister.entity.EntityPersister.getClassMetadata:()Lorg/hibernate/metadata/ClassMetadata;
astore 4
start local 4 2: aload 4
ifnull 11
3: aload 4
invokeinterface org.hibernate.metadata.ClassMetadata.getPropertyTypes:()[Lorg/hibernate/type/Type;
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 10
6: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter org.hibernate.action.internal.AbstractEntityInsertAction org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier java.lang.Object[] org.hibernate.metadata.ClassMetadata org.hibernate.type.Type[] int
StackMap stack:
aload 3
iload 6
aaload
astore 7
start local 7 7: aload 5
iload 6
aaload
astore 8
start local 8 8: aload 0
aload 1
aload 2
aload 8
aload 7
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter.addParentChildEntityNameByPropertyAndValue:(Lorg/hibernate/action/internal/AbstractEntityInsertAction;Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;Lorg/hibernate/type/Type;Ljava/lang/Object;)V
end local 8 end local 7 9: iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
aload 3
arraylength
if_icmplt 6
end local 6 end local 5 11: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
0 12 1 action Lorg/hibernate/action/internal/AbstractEntityInsertAction;
0 12 2 batchIdentifier Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
1 12 3 propertyValues [Ljava/lang/Object;
2 12 4 classMetadata Lorg/hibernate/metadata/ClassMetadata;
4 11 5 propertyTypes [Lorg/hibernate/type/Type;
5 11 6 i I
7 9 7 value Ljava/lang/Object;
8 9 8 type Lorg/hibernate/type/Type;
MethodParameters:
Name Flags
action
batchIdentifier
private void addParentChildEntityNameByPropertyAndValue(org.hibernate.action.internal.AbstractEntityInsertAction, org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier, org.hibernate.type.Type, java.lang.Object);
descriptor: (Lorg/hibernate/action/internal/AbstractEntityInsertAction;Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;Lorg/hibernate/type/Type;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokeinterface org.hibernate.type.Type.isEntityType:()Z
ifeq 14
aload 4
ifnull 14
1: aload 3
checkcast org.hibernate.type.EntityType
astore 5
start local 5 2: aload 5
invokevirtual org.hibernate.type.EntityType.getName:()Ljava/lang/String;
astore 6
start local 6 3: aload 1
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
aload 6
invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
invokeinterface org.hibernate.persister.entity.EntityPersister.getRootEntityName:()Ljava/lang/String;
astore 7
start local 7 4: aload 5
invokevirtual org.hibernate.type.EntityType.isOneToOne:()Z
ifeq 10
ldc Lorg/hibernate/type/OneToOneType;
aload 5
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.hibernate.type.OneToOneType
invokevirtual org.hibernate.type.OneToOneType.getForeignKeyDirection:()Lorg/hibernate/type/ForeignKeyDirection;
getstatic org.hibernate.type.ForeignKeyDirection.TO_PARENT:Lorg/hibernate/type/ForeignKeyDirection;
if_acmpne 10
5: aload 5
invokevirtual org.hibernate.type.EntityType.isReferenceToPrimaryKey:()Z
ifne 7
6: aload 2
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.getChildEntityNames:()Ljava/util/Set;
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals: org.hibernate.type.EntityType java.lang.String java.lang.String
StackMap stack:
aload 7
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
8: aload 2
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.getChildEntityNames:()Ljava/util/Set;
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: goto 37
10: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.getParentEntityNames:()Ljava/util/Set;
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: aload 7
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
12: aload 2
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.getParentEntityNames:()Ljava/util/Set;
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 5 13: goto 37
14: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.hibernate.type.Type.isCollectionType:()Z
ifeq 26
aload 4
ifnull 26
15: aload 3
checkcast org.hibernate.type.CollectionType
astore 5
start local 5 16: aload 1
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
checkcast org.hibernate.engine.spi.SessionImplementor
17: invokeinterface org.hibernate.engine.spi.SessionImplementor.getSessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
18: astore 6
start local 6 19: aload 5
aload 6
invokevirtual org.hibernate.type.CollectionType.getElementType:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/type/Type;
invokeinterface org.hibernate.type.Type.isEntityType:()Z
ifeq 37
20: aload 5
aload 6
invokevirtual org.hibernate.type.CollectionType.getAssociatedEntityName:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
astore 7
start local 7 21: aload 1
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
aload 7
invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
invokeinterface org.hibernate.persister.entity.EntityPersister.getRootEntityName:()Ljava/lang/String;
astore 8
start local 8 22: aload 2
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.getChildEntityNames:()Ljava/util/Set;
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
23: aload 8
aload 7
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
24: aload 2
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier.getChildEntityNames:()Ljava/util/Set;
aload 8
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 6 end local 5 25: goto 37
26: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.hibernate.type.Type.isComponentType:()Z
ifeq 37
aload 4
ifnull 37
27: aload 3
checkcast org.hibernate.type.CompositeType
astore 5
start local 5 28: aload 1
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
astore 6
start local 6 29: aload 5
aload 4
aload 6
invokeinterface org.hibernate.type.CompositeType.getPropertyValues:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)[Ljava/lang/Object;
astore 7
start local 7 30: iconst_0
istore 8
start local 8 31: goto 36
32: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter org.hibernate.action.internal.AbstractEntityInsertAction org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier org.hibernate.type.Type java.lang.Object org.hibernate.type.CompositeType org.hibernate.engine.spi.SharedSessionContractImplementor java.lang.Object[] int
StackMap stack:
aload 5
invokeinterface org.hibernate.type.CompositeType.getSubtypes:()[Lorg/hibernate/type/Type;
iload 8
aaload
astore 9
start local 9 33: aload 7
iload 8
aaload
astore 10
start local 10 34: aload 0
aload 1
aload 2
aload 9
aload 10
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter.addParentChildEntityNameByPropertyAndValue:(Lorg/hibernate/action/internal/AbstractEntityInsertAction;Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;Lorg/hibernate/type/Type;Ljava/lang/Object;)V
end local 10 end local 9 35: iinc 8 1
StackMap locals:
StackMap stack:
36: iload 8
aload 7
arraylength
if_icmplt 32
end local 8 end local 7 end local 6 end local 5 37: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter org.hibernate.action.internal.AbstractEntityInsertAction org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier org.hibernate.type.Type java.lang.Object
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
0 38 1 action Lorg/hibernate/action/internal/AbstractEntityInsertAction;
0 38 2 batchIdentifier Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
0 38 3 type Lorg/hibernate/type/Type;
0 38 4 value Ljava/lang/Object;
2 13 5 entityType Lorg/hibernate/type/EntityType;
3 13 6 entityName Ljava/lang/String;
4 13 7 rootEntityName Ljava/lang/String;
16 25 5 collectionType Lorg/hibernate/type/CollectionType;
19 25 6 sessionFactory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
21 25 7 entityName Ljava/lang/String;
22 25 8 rootEntityName Ljava/lang/String;
28 37 5 compositeType Lorg/hibernate/type/CompositeType;
29 37 6 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
30 37 7 componentValues [Ljava/lang/Object;
31 37 8 j I
33 35 9 componentValueType Lorg/hibernate/type/Type;
34 35 10 componentValue Ljava/lang/Object;
MethodParameters:
Name Flags
action
batchIdentifier
type
value
private void addToBatch(org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier, org.hibernate.action.internal.AbstractEntityInsertAction);
descriptor: (Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;Lorg/hibernate/action/internal/AbstractEntityInsertAction;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 1: aload 3
ifnonnull 4
2: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 3
3: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.util.List
StackMap stack:
aload 3
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
0 6 1 batchIdentifier Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter$BatchIdentifier;
0 6 2 action Lorg/hibernate/action/internal/AbstractEntityInsertAction;
1 6 3 actions Ljava/util/List<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;
MethodParameters:
Name Flags
batchIdentifier
action
}
Signature: Ljava/lang/Object;Lorg/hibernate/engine/spi/ExecutableList$Sorter<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;
SourceFile: "ActionQueue.java"
NestHost: org.hibernate.engine.spi.ActionQueue
InnerClasses:
private InsertActionSorter = org.hibernate.engine.spi.ActionQueue$InsertActionSorter of org.hibernate.engine.spi.ActionQueue
private BatchIdentifier = org.hibernate.engine.spi.ActionQueue$InsertActionSorter$BatchIdentifier of org.hibernate.engine.spi.ActionQueue$InsertActionSorter
public abstract Sorter = org.hibernate.engine.spi.ExecutableList$Sorter of org.hibernate.engine.spi.ExecutableList