public class org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder extends org.hibernate.loader.entity.BatchingEntityLoaderBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder
super_class: org.hibernate.loader.entity.BatchingEntityLoaderBuilder
{
private static final org.jboss.logging.Logger log;
descriptor: Lorg/jboss/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder INSTANCE;
descriptor: Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.$assertionsDisabled:Z
3: ldc Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
putstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.log:Lorg/jboss/logging/Logger;
4: new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder
dup
invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.<init>:()V
putstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.INSTANCE:Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
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 org.hibernate.loader.entity.BatchingEntityLoaderBuilder.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
public java.util.List multiLoad(org.hibernate.persister.entity.OuterJoinLoadable, java.io.Serializable[], org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.persister.entity.MultiLoadOptions);
descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/entity/MultiLoadOptions;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isOrderReturnEnabled:()Z
ifeq 2
1: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.performOrderedMultiLoad:(Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/entity/MultiLoadOptions;)Ljava/util/List;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.performUnorderedMultiLoad:(Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/entity/MultiLoadOptions;)Ljava/util/List;
areturn
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/loader/entity/DynamicBatchingEntityLoaderBuilder;
0 3 1 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 3 2 ids [Ljava/io/Serializable;
0 3 3 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
0 3 4 loadOptions Lorg/hibernate/persister/entity/MultiLoadOptions;
MethodParameters:
Name Flags
persister
ids
session
loadOptions
private java.util.List performOrderedMultiLoad(org.hibernate.persister.entity.OuterJoinLoadable, java.io.Serializable[], org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.persister.entity.MultiLoadOptions);
descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/entity/MultiLoadOptions;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.$assertionsDisabled:Z
ifne 1
aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isOrderReturnEnabled:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
arraylength
invokestatic org.hibernate.internal.util.collections.CollectionHelper.arrayList:(I)Ljava/util/ArrayList;
astore 5
start local 5 2: aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getLockOptions:()Lorg/hibernate/LockOptions;
ifnonnull 4
3: new org.hibernate.LockOptions
dup
getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
invokespecial org.hibernate.LockOptions.<init>:(Lorg/hibernate/LockMode;)V
goto 5
4: StackMap locals: java.util.List
StackMap stack:
aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getLockOptions:()Lorg/hibernate/LockOptions;
5: StackMap locals:
StackMap stack: org.hibernate.LockOptions
astore 6
start local 6 6: aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
ifnull 9
aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
ifle 9
7: aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 7
start local 7 8: goto 13
end local 7 9: StackMap locals: org.hibernate.LockOptions
StackMap stack:
aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
invokevirtual org.hibernate.dialect.Dialect.getDefaultBatchLoadSizingStrategy:()Lorg/hibernate/loader/BatchLoadSizingStrategy;
10: aload 1
invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getIdentifierType:()Lorg/hibernate/type/Type;
aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
11: aload 2
arraylength
12: invokeinterface org.hibernate.loader.BatchLoadSizingStrategy.determineOptimalBatchLoadSize:(II)I
istore 7
start local 7 13: StackMap locals: int
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 14: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 15: iconst_0
istore 10
start local 10 16: goto 35
17: StackMap locals: java.util.List java.util.List int
StackMap stack:
aload 2
iload 10
aaload
astore 11
start local 11 18: new org.hibernate.engine.spi.EntityKey
dup
aload 11
aload 1
invokespecial org.hibernate.engine.spi.EntityKey.<init>:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)V
astore 12
start local 12 19: aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isSessionCheckingEnabled:()Z
ifeq 29
20: aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 12
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
astore 13
start local 13 21: aload 13
ifnull 29
22: aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isReturnOfDeletedEntitiesEnabled:()Z
ifne 27
23: aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 13
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
astore 14
start local 14 24: aload 14
invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
getstatic org.hibernate.engine.spi.Status.DELETED:Lorg/hibernate/engine/spi/Status;
if_acmpeq 25
aload 14
invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
getstatic org.hibernate.engine.spi.Status.GONE:Lorg/hibernate/engine/spi/Status;
if_acmpne 27
25: StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List org.hibernate.LockOptions int java.util.List java.util.List int java.io.Serializable org.hibernate.engine.spi.EntityKey java.lang.Object org.hibernate.engine.spi.EntityEntry
StackMap stack:
aload 5
iload 10
aconst_null
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
26: goto 34
end local 14 27: StackMap locals:
StackMap stack:
aload 5
iload 10
aload 13
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
28: goto 34
end local 13 29: StackMap locals:
StackMap stack:
aload 8
aload 2
iload 10
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
30: aload 8
invokeinterface java.util.List.size:()I
iload 7
if_icmplt 32
31: aload 0
aload 8
aload 6
aload 1
aload 3
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.performOrderedBatchLoad:(Ljava/util/List;Lorg/hibernate/LockOptions;Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
32: StackMap locals:
StackMap stack:
aload 5
iload 10
aload 12
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
33: aload 9
iload 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 34: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
35: iload 10
aload 2
arraylength
if_icmplt 17
end local 10 36: aload 8
invokeinterface java.util.List.isEmpty:()Z
ifne 38
37: aload 0
aload 8
aload 6
aload 1
aload 3
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.performOrderedBatchLoad:(Ljava/util/List;Lorg/hibernate/LockOptions;Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
38: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 47
StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List org.hibernate.LockOptions int java.util.List java.util.List top java.util.Iterator
StackMap stack:
39: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 10
start local 10 40: aload 5
aload 10
invokevirtual java.lang.Integer.intValue:()I
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hibernate.engine.spi.EntityKey
astore 12
start local 12 41: aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 12
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
astore 13
start local 13 42: aload 13
ifnull 46
aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isReturnOfDeletedEntitiesEnabled:()Z
ifne 46
43: aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 13
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
astore 14
start local 14 44: aload 14
invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
getstatic org.hibernate.engine.spi.Status.DELETED:Lorg/hibernate/engine/spi/Status;
if_acmpeq 45
aload 14
invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
getstatic org.hibernate.engine.spi.Status.GONE:Lorg/hibernate/engine/spi/Status;
if_acmpne 46
45: StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List org.hibernate.LockOptions int java.util.List java.util.List java.lang.Integer java.util.Iterator org.hibernate.engine.spi.EntityKey java.lang.Object org.hibernate.engine.spi.EntityEntry
StackMap stack:
aconst_null
astore 13
end local 14 46: StackMap locals:
StackMap stack:
aload 5
aload 10
invokevirtual java.lang.Integer.intValue:()I
aload 13
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 13 end local 12 end local 10 47: StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List org.hibernate.LockOptions int java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
48: aload 5
areturn
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 49 0 this Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
0 49 1 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 49 2 ids [Ljava/io/Serializable;
0 49 3 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
0 49 4 loadOptions Lorg/hibernate/persister/entity/MultiLoadOptions;
2 49 5 result Ljava/util/List;
6 49 6 lockOptions Lorg/hibernate/LockOptions;
8 9 7 maxBatchSize I
13 49 7 maxBatchSize I
14 49 8 idsInBatch Ljava/util/List<Ljava/io/Serializable;>;
15 49 9 elementPositionsLoadedByBatch Ljava/util/List<Ljava/lang/Integer;>;
16 36 10 i I
18 34 11 id Ljava/io/Serializable;
19 34 12 entityKey Lorg/hibernate/engine/spi/EntityKey;
21 29 13 managedEntity Ljava/lang/Object;
24 27 14 entry Lorg/hibernate/engine/spi/EntityEntry;
40 47 10 position Ljava/lang/Integer;
41 47 12 entityKey Lorg/hibernate/engine/spi/EntityKey;
42 47 13 entity Ljava/lang/Object;
44 46 14 entry Lorg/hibernate/engine/spi/EntityEntry;
MethodParameters:
Name Flags
persister
ids
session
loadOptions
private void performOrderedBatchLoad(java.util.List<java.io.Serializable>, org.hibernate.LockOptions, org.hibernate.persister.entity.OuterJoinLoadable, org.hibernate.engine.spi.SharedSessionContractImplementor);
descriptor: (Ljava/util/List;Lorg/hibernate/LockOptions;Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokeinterface java.util.List.size:()I
istore 5
start local 5 1: new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader
dup
2: aload 3
3: iload 5
4: aload 2
5: aload 4
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
6: aload 4
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
7: invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockOptions;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
astore 6
start local 6 8: aload 1
aload 1
invokeinterface java.util.List.size:()I
anewarray java.io.Serializable
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.io.Serializable[]
astore 7
start local 7 9: aload 3
aload 7
aload 2
invokestatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.buildMultiLoadQueryParameters:(Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/LockOptions;)Lorg/hibernate/engine/spi/QueryParameters;
astore 8
start local 8 10: aload 6
aload 4
aload 8
aload 7
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader.doEntityBatchFetch:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Ljava/io/Serializable;)Ljava/util/List;
pop
11: aload 1
invokeinterface java.util.List.clear:()V
12: return
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 13 0 this Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
0 13 1 idsInBatch Ljava/util/List<Ljava/io/Serializable;>;
0 13 2 lockOptions Lorg/hibernate/LockOptions;
0 13 3 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 13 4 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
1 13 5 batchSize I
8 13 6 batchingLoader Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader;
9 13 7 idsInBatchArray [Ljava/io/Serializable;
10 13 8 qp Lorg/hibernate/engine/spi/QueryParameters;
Signature: (Ljava/util/List<Ljava/io/Serializable;>;Lorg/hibernate/LockOptions;Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
MethodParameters:
Name Flags
idsInBatch
lockOptions
persister
session
protected java.util.List performUnorderedMultiLoad(org.hibernate.persister.entity.OuterJoinLoadable, java.io.Serializable[], org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.persister.entity.MultiLoadOptions);
descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/entity/MultiLoadOptions;)Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.$assertionsDisabled:Z
ifne 1
aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isOrderReturnEnabled:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
arraylength
invokestatic org.hibernate.internal.util.collections.CollectionHelper.arrayList:(I)Ljava/util/ArrayList;
astore 5
start local 5 2: aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isSessionCheckingEnabled:()Z
ifeq 28
3: iconst_0
istore 6
start local 6 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 5: aload 2
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 19
StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List int java.util.List top int int java.io.Serializable[]
StackMap stack:
6: aload 11
iload 9
aaload
astore 8
start local 8 7: new org.hibernate.engine.spi.EntityKey
dup
aload 8
aload 1
invokespecial org.hibernate.engine.spi.EntityKey.<init>:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)V
astore 12
start local 12 8: aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 12
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
astore 13
start local 13 9: aload 13
ifnull 17
10: aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isReturnOfDeletedEntitiesEnabled:()Z
ifne 14
11: aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 13
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
astore 14
start local 14 12: aload 14
invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
getstatic org.hibernate.engine.spi.Status.DELETED:Lorg/hibernate/engine/spi/Status;
if_acmpeq 18
aload 14
invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
getstatic org.hibernate.engine.spi.Status.GONE:Lorg/hibernate/engine/spi/Status;
if_acmpne 14
13: goto 18
end local 14 14: StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List int java.util.List java.io.Serializable int int java.io.Serializable[] org.hibernate.engine.spi.EntityKey java.lang.Object
StackMap stack:
iconst_1
istore 6
15: aload 5
aload 13
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: goto 18
17: StackMap locals:
StackMap stack:
aload 7
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 13 end local 12 end local 8 18: StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List int java.util.List top int int java.io.Serializable[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
19: iload 9
iload 10
if_icmplt 6
20: iload 6
ifeq 28
21: aload 7
invokeinterface java.util.List.isEmpty:()Z
ifeq 23
22: aload 5
areturn
23: StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List int java.util.List
StackMap stack:
aload 7
24: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
25: aload 7
invokeinterface java.util.List.size:()I
26: invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
checkcast java.io.Serializable[]
27: invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.io.Serializable[]
astore 2
end local 7 end local 6 28: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getLockOptions:()Lorg/hibernate/LockOptions;
ifnonnull 30
29: new org.hibernate.LockOptions
dup
getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
invokespecial org.hibernate.LockOptions.<init>:(Lorg/hibernate/LockMode;)V
goto 31
30: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getLockOptions:()Lorg/hibernate/LockOptions;
31: StackMap locals:
StackMap stack: org.hibernate.LockOptions
astore 6
start local 6 32: aload 2
arraylength
istore 7
start local 7 33: aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
ifnull 36
aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
ifle 36
34: aload 4
invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 8
start local 8 35: goto 40
end local 8 36: StackMap locals: org.hibernate.LockOptions int
StackMap stack:
aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
invokevirtual org.hibernate.dialect.Dialect.getDefaultBatchLoadSizingStrategy:()Lorg/hibernate/loader/BatchLoadSizingStrategy;
37: aload 1
invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getIdentifierType:()Lorg/hibernate/type/Type;
aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
38: iload 7
39: invokeinterface org.hibernate.loader.BatchLoadSizingStrategy.determineOptimalBatchLoadSize:(II)I
istore 8
start local 8 40: StackMap locals: int
StackMap stack:
iconst_0
istore 9
start local 9 41: goto 56
42: StackMap locals: int
StackMap stack:
iload 7
iload 8
invokestatic java.lang.Math.min:(II)I
istore 10
start local 10 43: new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader
dup
44: aload 1
45: iload 10
46: aload 6
47: aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
48: aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
49: invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockOptions;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
astore 11
start local 11 50: iload 10
anewarray java.io.Serializable
astore 12
start local 12 51: aload 2
iload 9
aload 12
iconst_0
iload 10
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
52: aload 1
aload 12
aload 6
invokestatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.buildMultiLoadQueryParameters:(Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/LockOptions;)Lorg/hibernate/engine/spi/QueryParameters;
astore 13
start local 13 53: aload 5
aload 11
aload 3
aload 13
aload 12
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader.doEntityBatchFetch:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Ljava/io/Serializable;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
54: iload 7
iload 10
isub
istore 7
55: iload 9
iload 10
iadd
istore 9
end local 13 end local 12 end local 11 end local 10 56: StackMap locals:
StackMap stack:
iload 7
ifgt 42
57: aload 5
areturn
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 58 0 this Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
0 58 1 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 58 2 ids [Ljava/io/Serializable;
0 58 3 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
0 58 4 loadOptions Lorg/hibernate/persister/entity/MultiLoadOptions;
2 58 5 result Ljava/util/List;
4 28 6 foundAnyManagedEntities Z
5 28 7 nonManagedIds Ljava/util/List<Ljava/io/Serializable;>;
7 18 8 id Ljava/io/Serializable;
8 18 12 entityKey Lorg/hibernate/engine/spi/EntityKey;
9 18 13 managedEntity Ljava/lang/Object;
12 14 14 entry Lorg/hibernate/engine/spi/EntityEntry;
32 58 6 lockOptions Lorg/hibernate/LockOptions;
33 58 7 numberOfIdsLeft I
35 36 8 maxBatchSize I
40 58 8 maxBatchSize I
41 58 9 idPosition I
43 56 10 batchSize I
50 56 11 batchingLoader Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader;
51 56 12 idsInBatch [Ljava/io/Serializable;
53 56 13 qp Lorg/hibernate/engine/spi/QueryParameters;
MethodParameters:
Name Flags
persister
ids
session
loadOptions
public static org.hibernate.engine.spi.QueryParameters buildMultiLoadQueryParameters(org.hibernate.persister.entity.OuterJoinLoadable, java.io.Serializable[], org.hibernate.LockOptions);
descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/LockOptions;)Lorg/hibernate/engine/spi/QueryParameters;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
anewarray org.hibernate.type.Type
astore 3
start local 3 1: aload 3
aload 0
invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getIdentifierType:()Lorg/hibernate/type/Type;
invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
2: new org.hibernate.engine.spi.QueryParameters
dup
invokespecial org.hibernate.engine.spi.QueryParameters.<init>:()V
astore 4
start local 4 3: aload 4
aload 0
invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getEntityName:()Ljava/lang/String;
invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalEntityName:(Ljava/lang/String;)V
4: aload 4
aload 3
invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterTypes:([Lorg/hibernate/type/Type;)V
5: aload 4
aload 1
invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterValues:([Ljava/lang/Object;)V
6: aload 4
aload 2
invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
7: aload 4
aconst_null
invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalObject:(Ljava/lang/Object;)V
8: aload 4
aconst_null
invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalId:(Ljava/io/Serializable;)V
9: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 10 1 ids [Ljava/io/Serializable;
0 10 2 lockOptions Lorg/hibernate/LockOptions;
1 10 3 types [Lorg/hibernate/type/Type;
3 10 4 qp Lorg/hibernate/engine/spi/QueryParameters;
MethodParameters:
Name Flags
persister
ids
lockOptions
protected org.hibernate.loader.entity.UniqueEntityLoader buildBatchingLoader(org.hibernate.persister.entity.OuterJoinLoadable, int, org.hibernate.LockMode, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.engine.spi.LoadQueryInfluencers);
descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)Lorg/hibernate/loader/entity/UniqueEntityLoader;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader
dup
aload 1
iload 2
aload 3
aload 4
aload 5
invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
areturn
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 1 0 this Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
0 1 1 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 1 2 batchSize I
0 1 3 lockMode Lorg/hibernate/LockMode;
0 1 4 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 1 5 influencers Lorg/hibernate/engine/spi/LoadQueryInfluencers;
MethodParameters:
Name Flags
persister
batchSize
lockMode
factory
influencers
protected org.hibernate.loader.entity.UniqueEntityLoader buildBatchingLoader(org.hibernate.persister.entity.OuterJoinLoadable, int, org.hibernate.LockOptions, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.engine.spi.LoadQueryInfluencers);
descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockOptions;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)Lorg/hibernate/loader/entity/UniqueEntityLoader;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader
dup
aload 1
iload 2
aload 3
aload 4
aload 5
invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockOptions;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
areturn
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 1 0 this Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
0 1 1 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 1 2 batchSize I
0 1 3 lockOptions Lorg/hibernate/LockOptions;
0 1 4 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 1 5 influencers Lorg/hibernate/engine/spi/LoadQueryInfluencers;
MethodParameters:
Name Flags
persister
batchSize
lockOptions
factory
influencers
}
SourceFile: "DynamicBatchingEntityLoaderBuilder.java"
NestMembers:
org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader$1
InnerClasses:
public DynamicBatchingEntityLoader = org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader of org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder
private DynamicEntityLoader = org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader of org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder