public abstract class org.hibernate.loader.entity.plan.BatchingEntityLoader implements org.hibernate.loader.entity.UniqueEntityLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.loader.entity.plan.BatchingEntityLoader
  super_class: java.lang.Object
{
  private static final org.jboss.logging.Logger log;
    descriptor: Lorg/jboss/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.hibernate.persister.entity.EntityPersister persister;
    descriptor: Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 38
            ldc Lorg/hibernate/loader/entity/plan/BatchingEntityLoader;
            invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
            putstatic org.hibernate.loader.entity.plan.BatchingEntityLoader.log:Lorg/jboss/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.persister.entity.EntityPersister);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
        start local 1 // org.hibernate.persister.entity.EntityPersister persister
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            aload 1 /* persister */
            putfield org.hibernate.loader.entity.plan.BatchingEntityLoader.persister:Lorg/hibernate/persister/entity/EntityPersister;
         2: .line 44
            return
        end local 1 // org.hibernate.persister.entity.EntityPersister persister
        end local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/hibernate/loader/entity/plan/BatchingEntityLoader;
            0    3     1  persister  Lorg/hibernate/persister/entity/EntityPersister;
    MethodParameters:
           Name  Flags
      persister  

  public org.hibernate.persister.entity.EntityPersister persister();
    descriptor: ()Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
         0: .line 47
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.BatchingEntityLoader.persister:Lorg/hibernate/persister/entity/EntityPersister;
            areturn
        end local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/entity/plan/BatchingEntityLoader;

  public java.lang.Object load(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
        start local 1 // java.io.Serializable id
        start local 2 // java.lang.Object optionalObject
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 52
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* optionalObject */
            aload 3 /* session */
            getstatic org.hibernate.LockOptions.NONE:Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.loader.entity.plan.BatchingEntityLoader.load:(Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/LockOptions;)Ljava/lang/Object;
            areturn
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.lang.Object optionalObject
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/hibernate/loader/entity/plan/BatchingEntityLoader;
            0    1     1              id  Ljava/io/Serializable;
            0    1     2  optionalObject  Ljava/lang/Object;
            0    1     3         session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    MethodParameters:
                Name  Flags
      id              
      optionalObject  
      session         

  protected org.hibernate.engine.spi.QueryParameters buildQueryParameters(java.io.Serializable, java.io.Serializable[], java.lang.Object, org.hibernate.LockOptions);
    descriptor: (Ljava/io/Serializable;[Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/LockOptions;)Lorg/hibernate/engine/spi/QueryParameters;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=7, args_size=5
        start local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
        start local 1 // java.io.Serializable id
        start local 2 // java.io.Serializable[] ids
        start local 3 // java.lang.Object optionalObject
        start local 4 // org.hibernate.LockOptions lockOptions
         0: .line 60
            aload 2 /* ids */
            arraylength
            anewarray org.hibernate.type.Type
            astore 5 /* types */
        start local 5 // org.hibernate.type.Type[] types
         1: .line 61
            aload 5 /* types */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.entity.plan.BatchingEntityLoader.persister:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifierType:()Lorg/hibernate/type/Type;
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 63
            new org.hibernate.engine.spi.QueryParameters
            dup
            invokespecial org.hibernate.engine.spi.QueryParameters.<init>:()V
            astore 6 /* qp */
        start local 6 // org.hibernate.engine.spi.QueryParameters qp
         3: .line 64
            aload 6 /* qp */
            aload 5 /* types */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterTypes:([Lorg/hibernate/type/Type;)V
         4: .line 65
            aload 6 /* qp */
            aload 2 /* ids */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterValues:([Ljava/lang/Object;)V
         5: .line 66
            aload 6 /* qp */
            aload 3 /* optionalObject */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalObject:(Ljava/lang/Object;)V
         6: .line 67
            aload 6 /* qp */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.entity.plan.BatchingEntityLoader.persister:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalEntityName:(Ljava/lang/String;)V
         7: .line 68
            aload 6 /* qp */
            aload 1 /* id */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalId:(Ljava/io/Serializable;)V
         8: .line 69
            aload 6 /* qp */
            aload 4 /* lockOptions */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
         9: .line 70
            aload 6 /* qp */
            areturn
        end local 6 // org.hibernate.engine.spi.QueryParameters qp
        end local 5 // org.hibernate.type.Type[] types
        end local 4 // org.hibernate.LockOptions lockOptions
        end local 3 // java.lang.Object optionalObject
        end local 2 // java.io.Serializable[] ids
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/hibernate/loader/entity/plan/BatchingEntityLoader;
            0   10     1              id  Ljava/io/Serializable;
            0   10     2             ids  [Ljava/io/Serializable;
            0   10     3  optionalObject  Ljava/lang/Object;
            0   10     4     lockOptions  Lorg/hibernate/LockOptions;
            1   10     5           types  [Lorg/hibernate/type/Type;
            3   10     6              qp  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
                Name  Flags
      id              
      ids             
      optionalObject  
      lockOptions     

  protected java.lang.Object getObjectFromList(java.util.List, java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/util/List;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
        start local 1 // java.util.List results
        start local 2 // java.io.Serializable id
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 74
            aload 1 /* results */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.hibernate.loader.entity.plan.BatchingEntityLoader java.util.List java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* obj */
        start local 4 // java.lang.Object obj
         2: .line 75
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.BatchingEntityLoader.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifierType:()Lorg/hibernate/type/Type;
         3: .line 76
            aload 2 /* id */
         4: .line 77
            aload 3 /* session */
            aload 4 /* obj */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getContextEntityIdentifier:(Ljava/lang/Object;)Ljava/io/Serializable;
         5: .line 78
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         6: .line 75
            invokeinterface org.hibernate.type.Type.isEqual:(Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Z
            istore 6 /* equal */
        start local 6 // boolean equal
         7: .line 80
            iload 6 /* equal */
            ifeq 9
         8: .line 81
            aload 4 /* obj */
            areturn
        end local 6 // boolean equal
        end local 4 // java.lang.Object obj
         9: .line 74
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 84
            aconst_null
            areturn
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // java.util.List results
        end local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/hibernate/loader/entity/plan/BatchingEntityLoader;
            0   11     1  results  Ljava/util/List;
            0   11     2       id  Ljava/io/Serializable;
            0   11     3  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            2    9     4      obj  Ljava/lang/Object;
            7    9     6    equal  Z
    MethodParameters:
         Name  Flags
      results  
      id       
      session  

  protected java.lang.Object doBatchLoad(java.io.Serializable, org.hibernate.loader.Loader, org.hibernate.engine.spi.SharedSessionContractImplementor, java.io.Serializable[], java.lang.Object, org.hibernate.LockOptions);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/loader/Loader;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;[Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/LockOptions;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
        start local 1 // java.io.Serializable id
        start local 2 // org.hibernate.loader.Loader loaderToUse
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 4 // java.io.Serializable[] ids
        start local 5 // java.lang.Object optionalObject
        start local 6 // org.hibernate.LockOptions lockOptions
         0: .line 94
            getstatic org.hibernate.loader.entity.plan.BatchingEntityLoader.log:Lorg/jboss/logging/Logger;
            invokevirtual org.jboss.logging.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 95
            getstatic org.hibernate.loader.entity.plan.BatchingEntityLoader.log:Lorg/jboss/logging/Logger;
            ldc "Batch loading entity: %s"
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.BatchingEntityLoader.persister:Lorg/hibernate/persister/entity/EntityPersister;
            aload 4 /* ids */
            aload 3 /* session */
            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
         2: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            aload 4 /* ids */
            aload 5 /* optionalObject */
            aload 6 /* lockOptions */
            invokevirtual org.hibernate.loader.entity.plan.BatchingEntityLoader.buildQueryParameters:(Ljava/io/Serializable;[Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/LockOptions;)Lorg/hibernate/engine/spi/QueryParameters;
            astore 7 /* qp */
        start local 7 // org.hibernate.engine.spi.QueryParameters qp
         3: .line 101
            aload 2 /* loaderToUse */
            aload 3 /* session */
            aload 7 /* qp */
            iconst_0
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            astore 8 /* results */
        start local 8 // java.util.List results
         4: .line 102
            getstatic org.hibernate.loader.entity.plan.BatchingEntityLoader.log:Lorg/jboss/logging/Logger;
            ldc "Done entity batch load"
            invokevirtual org.jboss.logging.Logger.debug:(Ljava/lang/Object;)V
         5: .line 103
            aload 0 /* this */
            aload 8 /* results */
            aload 1 /* id */
            aload 3 /* session */
            invokevirtual org.hibernate.loader.entity.plan.BatchingEntityLoader.getObjectFromList:(Ljava/util/List;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
         6: areturn
        end local 8 // java.util.List results
         7: .line 105
      StackMap locals: org.hibernate.loader.entity.plan.BatchingEntityLoader java.io.Serializable org.hibernate.loader.Loader org.hibernate.engine.spi.SharedSessionContractImplementor java.io.Serializable[] java.lang.Object org.hibernate.LockOptions org.hibernate.engine.spi.QueryParameters
      StackMap stack: java.sql.SQLException
            astore 8 /* sqle */
        start local 8 // java.sql.SQLException sqle
         8: .line 106
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
         9: .line 107
            aload 8 /* sqle */
        10: .line 108
            new java.lang.StringBuilder
            dup
            ldc "could not load an entity batch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.loader.entity.plan.BatchingEntityLoader.persister:()Lorg/hibernate/persister/entity/EntityPersister;
            aload 4 /* ids */
            aload 3 /* session */
            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 java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 109
            aload 2 /* loaderToUse */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        12: .line 106
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 8 // java.sql.SQLException sqle
        end local 7 // org.hibernate.engine.spi.QueryParameters qp
        end local 6 // org.hibernate.LockOptions lockOptions
        end local 5 // java.lang.Object optionalObject
        end local 4 // java.io.Serializable[] ids
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // org.hibernate.loader.Loader loaderToUse
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.loader.entity.plan.BatchingEntityLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/hibernate/loader/entity/plan/BatchingEntityLoader;
            0   13     1              id  Ljava/io/Serializable;
            0   13     2     loaderToUse  Lorg/hibernate/loader/Loader;
            0   13     3         session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   13     4             ids  [Ljava/io/Serializable;
            0   13     5  optionalObject  Ljava/lang/Object;
            0   13     6     lockOptions  Lorg/hibernate/LockOptions;
            3   13     7              qp  Lorg/hibernate/engine/spi/QueryParameters;
            4    7     8         results  Ljava/util/List;
            8   13     8            sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           3     6       7  Class java.sql.SQLException
    MethodParameters:
                Name  Flags
      id              
      loaderToUse     
      session         
      ids             
      optionalObject  
      lockOptions     
}
SourceFile: "BatchingEntityLoader.java"