public class org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader 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.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader
super_class: org.hibernate.loader.entity.BatchingEntityLoader
{
private final int[] batchSizes;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.loader.Loader[] loaders;
descriptor: [Lorg/hibernate/loader/Loader;
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=9, locals=7, 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
invokestatic org.hibernate.internal.util.collections.ArrayHelper.getBatchSizes:(I)[I
putfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
2: aload 0
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
arraylength
anewarray org.hibernate.loader.Loader
putfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.loaders:[Lorg/hibernate/loader/Loader;
3: iconst_0
istore 6
start local 6 4: goto 7
5: StackMap locals: org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader org.hibernate.persister.entity.OuterJoinLoadable int org.hibernate.LockMode org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.engine.spi.LoadQueryInfluencers int
StackMap stack:
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.loaders:[Lorg/hibernate/loader/Loader;
iload 6
new org.hibernate.loader.entity.EntityLoader
dup
aload 1
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
iload 6
iaload
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
aastore
6: iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
arraylength
if_icmplt 5
end local 6 8: aload 0
iload 2
invokevirtual org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.validate:(I)V
9: 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 10 0 this Lorg/hibernate/loader/entity/PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader;
0 10 1 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 10 2 maxBatchSize I
0 10 3 lockMode Lorg/hibernate/LockMode;
0 10 4 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 10 5 loadQueryInfluencers Lorg/hibernate/engine/spi/LoadQueryInfluencers;
4 8 6 i I
MethodParameters:
Name Flags
persister
maxBatchSize
lockMode
factory
loadQueryInfluencers
private void validate(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
iconst_0
iaload
iload 1
if_icmpeq 2
1: new org.hibernate.HibernateException
dup
ldc "Unexpected batch size spread"
invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
arraylength
iconst_1
isub
iaload
iconst_1
if_icmpeq 4
3: new org.hibernate.HibernateException
dup
ldc "Unexpected batch size spread"
invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/loader/entity/PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader;
0 5 1 max I
MethodParameters:
Name Flags
max
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=9, locals=7, 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
invokestatic org.hibernate.internal.util.collections.ArrayHelper.getBatchSizes:(I)[I
putfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
2: aload 0
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
arraylength
anewarray org.hibernate.loader.Loader
putfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.loaders:[Lorg/hibernate/loader/Loader;
3: iconst_0
istore 6
start local 6 4: goto 7
5: StackMap locals: org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader org.hibernate.persister.entity.OuterJoinLoadable int org.hibernate.LockOptions org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.engine.spi.LoadQueryInfluencers int
StackMap stack:
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.loaders:[Lorg/hibernate/loader/Loader;
iload 6
new org.hibernate.loader.entity.EntityLoader
dup
aload 1
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
iload 6
iaload
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
aastore
6: iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
arraylength
if_icmplt 5
end local 6 8: aload 0
iload 2
invokevirtual org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.validate:(I)V
9: 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 10 0 this Lorg/hibernate/loader/entity/PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader;
0 10 1 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 10 2 maxBatchSize I
0 10 3 lockOptions Lorg/hibernate/LockOptions;
0 10 4 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 10 5 loadQueryInfluencers Lorg/hibernate/engine/spi/LoadQueryInfluencers;
4 8 6 i I
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=7, 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.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.persister:()Lorg/hibernate/persister/entity/EntityPersister;
aload 1
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
iconst_0
iaload
aload 0
invokevirtual org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.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.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.loaders:[Lorg/hibernate/loader/Loader;
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
arraylength
iconst_1
isub
aaload
checkcast org.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.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.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:
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
arraylength
iconst_1
isub
istore 7
start local 7 11: iconst_0
istore 8
start local 8 12: goto 16
13: StackMap locals: int int
StackMap stack:
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
iload 8
iaload
iload 6
if_icmplt 17
14: iload 8
istore 7
15: iinc 8 1
StackMap locals:
StackMap stack:
16: iload 8
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
arraylength
iconst_1
isub
if_icmplt 13
end local 8 17: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
iload 7
iaload
anewarray java.io.Serializable
astore 8
start local 8 18: aload 5
iconst_0
aload 8
iconst_0
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: iload 6
istore 9
start local 9 20: goto 23
21: StackMap locals: java.io.Serializable[] int
StackMap stack:
aload 8
iload 9
aload 1
aastore
22: iinc 9 1
StackMap locals:
StackMap stack:
23: iload 9
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.batchSizes:[I
iload 7
iaload
if_icmplt 21
end local 9 24: aload 0
aload 1
aload 0
getfield org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.loaders:[Lorg/hibernate/loader/Loader;
iload 7
aaload
aload 3
aload 8
aload 2
aload 4
invokevirtual org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader.doBatchLoad:(Ljava/io/Serializable;Lorg/hibernate/loader/Loader;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;[Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/LockOptions;)Ljava/lang/Object;
areturn
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 25 0 this Lorg/hibernate/loader/entity/PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader;
0 25 1 id Ljava/io/Serializable;
0 25 2 optionalObject Ljava/lang/Object;
0 25 3 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
0 25 4 lockOptions Lorg/hibernate/LockOptions;
4 25 5 batch [Ljava/io/Serializable;
5 25 6 numberOfIds I
7 10 7 result Ljava/lang/Object;
11 25 7 indexToUse I
12 17 8 i I
18 25 8 idsToLoad [Ljava/io/Serializable;
20 24 9 i I
MethodParameters:
Name Flags
id
optionalObject
session
lockOptions
}
SourceFile: "PaddedBatchingEntityLoaderBuilder.java"
NestHost: org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder
InnerClasses:
public PaddedBatchingEntityLoader = org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder$PaddedBatchingEntityLoader of org.hibernate.loader.entity.PaddedBatchingEntityLoaderBuilder