public class org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader extends org.hibernate.loader.entity.BatchingEntityLoader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader
super_class: org.hibernate.loader.entity.BatchingEntityLoader
{
private final int maxBatchSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.loader.entity.UniqueEntityLoader singleKeyLoader;
descriptor: Lorg/hibernate/loader/entity/UniqueEntityLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader dynamicLoader;
descriptor: Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(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;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokespecial org.hibernate.loader.entity.BatchingEntityLoader.<init>:(Lorg/hibernate/persister/entity/EntityPersister;)V
1: aload 0
iload 2
putfield org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.maxBatchSize:I
2: aload 0
new org.hibernate.loader.entity.EntityLoader
dup
aload 1
iconst_1
aload 3
aload 4
aload 5
invokespecial org.hibernate.loader.entity.EntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
putfield org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.singleKeyLoader:Lorg/hibernate/loader/entity/UniqueEntityLoader;
3: aload 0
new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader
dup
aload 1
iload 2
aload 3
aload 4
aload 5
invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
putfield org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.dynamicLoader:Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader;
4: return
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 5 0 this Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader;
0 5 1 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 5 2 maxBatchSize I
0 5 3 lockMode Lorg/hibernate/LockMode;
0 5 4 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 5 5 loadQueryInfluencers Lorg/hibernate/engine/spi/LoadQueryInfluencers;
MethodParameters:
Name Flags
persister
maxBatchSize
lockMode
factory
loadQueryInfluencers
public void <init>(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;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokespecial org.hibernate.loader.entity.BatchingEntityLoader.<init>:(Lorg/hibernate/persister/entity/EntityPersister;)V
1: aload 0
iload 2
putfield org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.maxBatchSize:I
2: aload 0
new org.hibernate.loader.entity.EntityLoader
dup
aload 1
iconst_1
aload 3
aload 4
aload 5
invokespecial org.hibernate.loader.entity.EntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockOptions;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
putfield org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.singleKeyLoader:Lorg/hibernate/loader/entity/UniqueEntityLoader;
3: aload 0
new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader
dup
aload 1
iload 2
aload 3
aload 4
aload 5
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
putfield org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.dynamicLoader:Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader;
4: return
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 5 0 this Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader;
0 5 1 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 5 2 maxBatchSize I
0 5 3 lockOptions Lorg/hibernate/LockOptions;
0 5 4 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 5 5 loadQueryInfluencers Lorg/hibernate/engine/spi/LoadQueryInfluencers;
MethodParameters:
Name Flags
persister
maxBatchSize
lockOptions
factory
loadQueryInfluencers
public java.lang.Object load(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.LockOptions);
descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/LockOptions;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
1: invokeinterface org.hibernate.engine.spi.PersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
2: aload 0
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.persister:()Lorg/hibernate/persister/entity/EntityPersister;
aload 1
aload 0
getfield org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.maxBatchSize:I
aload 0
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.persister:()Lorg/hibernate/persister/entity/EntityPersister;
invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMode:()Lorg/hibernate/EntityMode;
invokevirtual org.hibernate.engine.spi.BatchFetchQueue.getEntityBatch:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/io/Serializable;ILorg/hibernate/EntityMode;)[Ljava/io/Serializable;
3: astore 5
start local 5 4: aload 5
invokestatic org.hibernate.internal.util.collections.ArrayHelper.countNonNull:([Ljava/io/Serializable;)I
istore 6
start local 6 5: iload 6
iconst_1
if_icmpgt 10
6: aload 0
getfield org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.singleKeyLoader:Lorg/hibernate/loader/entity/UniqueEntityLoader;
aload 1
aload 2
aload 3
invokeinterface org.hibernate.loader.entity.UniqueEntityLoader.load:(Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
astore 7
start local 7 7: aload 7
ifnonnull 9
8: aload 1
aload 0
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.persister:()Lorg/hibernate/persister/entity/EntityPersister;
aload 3
invokestatic org.hibernate.engine.internal.BatchFetchQueueHelper.removeBatchLoadableEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
9: StackMap locals: java.io.Serializable[] int java.lang.Object
StackMap stack:
aload 7
areturn
end local 7 10: StackMap locals:
StackMap stack:
iload 6
anewarray java.io.Serializable
astore 7
start local 7 11: aload 5
iconst_0
aload 7
iconst_0
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: getstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.log:Lorg/jboss/logging/Logger;
invokevirtual org.jboss.logging.Logger.isDebugEnabled:()Z
ifeq 14
13: getstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.log:Lorg/jboss/logging/Logger;
ldc "Batch loading entity: %s"
aload 0
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.persister:()Lorg/hibernate/persister/entity/EntityPersister;
aload 7
aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
invokevirtual org.jboss.logging.Logger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
14: StackMap locals: java.io.Serializable[]
StackMap stack:
aload 0
aload 1
aload 7
aload 2
aload 4
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.buildQueryParameters:(Ljava/io/Serializable;[Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/LockOptions;)Lorg/hibernate/engine/spi/QueryParameters;
astore 8
start local 8 15: aload 0
getfield org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.dynamicLoader:Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader;
aload 3
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;
astore 9
start local 9 16: aload 7
aload 9
aload 0
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.persister:()Lorg/hibernate/persister/entity/EntityPersister;
aload 3
invokestatic org.hibernate.engine.internal.BatchFetchQueueHelper.removeNotFoundBatchLoadableEntityKeys:([Ljava/io/Serializable;Ljava/util/List;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
17: aload 0
aload 9
aload 1
aload 3
invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.getObjectFromList:(Ljava/util/List;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
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 18 0 this Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader;
0 18 1 id Ljava/io/Serializable;
0 18 2 optionalObject Ljava/lang/Object;
0 18 3 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
0 18 4 lockOptions Lorg/hibernate/LockOptions;
4 18 5 batch [Ljava/io/Serializable;
5 18 6 numberOfIds I
7 10 7 result Ljava/lang/Object;
11 18 7 idsToLoad [Ljava/io/Serializable;
15 18 8 qp Lorg/hibernate/engine/spi/QueryParameters;
16 18 9 results Ljava/util/List;
MethodParameters:
Name Flags
id
optionalObject
session
lockOptions
}
SourceFile: "DynamicBatchingEntityLoaderBuilder.java"
NestHost: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder
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