public abstract class org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader extends org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader 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.AbstractLoadPlanBasedEntityLoader
  super_class: org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader
{
  private static final org.hibernate.internal.CoreMessageLogger log;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final org.hibernate.type.Type uniqueKeyType;
    descriptor: Lorg/hibernate/type/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String entityName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.loader.plan.exec.spi.LoadQueryDetails staticLoadQuery;
    descriptor: Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
    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 63
            ldc Lorg/hibernate/loader/entity/plan/AbstractLoadPlanBasedEntityLoader;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.log:Lorg/hibernate/internal/CoreMessageLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.persister.entity.OuterJoinLoadable, org.hibernate.engine.spi.SessionFactoryImplementor, java.lang.String[], org.hibernate.type.Type, org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters);
    descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;[Ljava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/loader/plan/exec/query/spi/QueryBuildingParameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
        start local 1 // org.hibernate.persister.entity.OuterJoinLoadable entityPersister
        start local 2 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        start local 3 // java.lang.String[] uniqueKeyColumnNames
        start local 4 // org.hibernate.type.Type uniqueKeyType
        start local 5 // org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters buildingParameters
         0: .line 77
            aload 0 /* this */
            aload 2 /* factory */
            invokespecial org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
         1: .line 78
            aload 0 /* this */
            aload 1 /* entityPersister */
            putfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.entityPersister:Lorg/hibernate/persister/entity/OuterJoinLoadable;
         2: .line 79
            aload 0 /* this */
            aload 4 /* uniqueKeyType */
            putfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.uniqueKeyType:Lorg/hibernate/type/Type;
         3: .line 80
            aload 0 /* this */
            aload 1 /* entityPersister */
            invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getEntityName:()Ljava/lang/String;
            putfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.entityName:Ljava/lang/String;
         4: .line 83
            aload 5 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getFetchGraph:()Ljavax/persistence/EntityGraph;
            ifnull 9
         5: .line 84
            new org.hibernate.loader.plan.build.internal.FetchGraphLoadPlanBuildingStrategy
            dup
         6: .line 85
            aload 2 /* factory */
            aload 5 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            aload 5 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getLockMode:()Lorg/hibernate/LockMode;
         7: .line 84
            invokespecial org.hibernate.loader.plan.build.internal.FetchGraphLoadPlanBuildingStrategy.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;Lorg/hibernate/LockMode;)V
            astore 6 /* strategy */
        start local 6 // org.hibernate.loader.plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy strategy
         8: .line 87
            goto 17
        end local 6 // org.hibernate.loader.plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy strategy
         9: .line 88
      StackMap locals: org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader org.hibernate.persister.entity.OuterJoinLoadable org.hibernate.engine.spi.SessionFactoryImplementor java.lang.String[] org.hibernate.type.Type org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters
      StackMap stack:
            aload 5 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getLoadGraph:()Ljavax/persistence/EntityGraph;
            ifnull 14
        10: .line 89
            new org.hibernate.loader.plan.build.internal.LoadGraphLoadPlanBuildingStrategy
            dup
        11: .line 90
            aload 2 /* factory */
            aload 5 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            aload 5 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getLockMode:()Lorg/hibernate/LockMode;
        12: .line 89
            invokespecial org.hibernate.loader.plan.build.internal.LoadGraphLoadPlanBuildingStrategy.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;Lorg/hibernate/LockMode;)V
            astore 6 /* strategy */
        start local 6 // org.hibernate.loader.plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy strategy
        13: .line 92
            goto 17
        end local 6 // org.hibernate.loader.plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy strategy
        14: .line 94
      StackMap locals:
      StackMap stack:
            new org.hibernate.loader.plan.build.internal.FetchStyleLoadPlanBuildingAssociationVisitationStrategy
            dup
        15: .line 95
            aload 2 /* factory */
            aload 5 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            aload 5 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getLockMode:()Lorg/hibernate/LockMode;
        16: .line 94
            invokespecial org.hibernate.loader.plan.build.internal.FetchStyleLoadPlanBuildingAssociationVisitationStrategy.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;Lorg/hibernate/LockMode;)V
            astore 6 /* strategy */
        start local 6 // org.hibernate.loader.plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy strategy
        17: .line 99
      StackMap locals: org.hibernate.loader.plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy
      StackMap stack:
            aload 6 /* strategy */
            aload 1 /* entityPersister */
            invokestatic org.hibernate.loader.plan.build.spi.MetamodelDrivenLoadPlanBuilder.buildRootEntityLoadPlan:(Lorg/hibernate/loader/plan/build/spi/LoadPlanBuildingAssociationVisitationStrategy;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/loader/plan/spi/LoadPlan;
            astore 7 /* plan */
        start local 7 // org.hibernate.loader.plan.spi.LoadPlan plan
        18: .line 100
            aload 0 /* this */
        19: .line 101
            aload 7 /* plan */
        20: .line 102
            aload 3 /* uniqueKeyColumnNames */
        21: .line 103
            aload 5 /* buildingParameters */
        22: .line 104
            aload 2 /* factory */
        23: .line 100
            invokestatic org.hibernate.loader.plan.exec.internal.BatchingLoadQueryDetailsFactory.makeEntityLoadQueryDetails:(Lorg/hibernate/loader/plan/spi/LoadPlan;[Ljava/lang/String;Lorg/hibernate/loader/plan/exec/query/spi/QueryBuildingParameters;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
            putfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.staticLoadQuery:Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
        24: .line 106
            return
        end local 7 // org.hibernate.loader.plan.spi.LoadPlan plan
        end local 6 // org.hibernate.loader.plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy strategy
        end local 5 // org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters buildingParameters
        end local 4 // org.hibernate.type.Type uniqueKeyType
        end local 3 // java.lang.String[] uniqueKeyColumnNames
        end local 2 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 1 // org.hibernate.persister.entity.OuterJoinLoadable entityPersister
        end local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   25     0                  this  Lorg/hibernate/loader/entity/plan/AbstractLoadPlanBasedEntityLoader;
            0   25     1       entityPersister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0   25     2               factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0   25     3  uniqueKeyColumnNames  [Ljava/lang/String;
            0   25     4         uniqueKeyType  Lorg/hibernate/type/Type;
            0   25     5    buildingParameters  Lorg/hibernate/loader/plan/exec/query/spi/QueryBuildingParameters;
            8    9     6              strategy  Lorg/hibernate/loader/plan/build/spi/LoadPlanBuildingAssociationVisitationStrategy;
           13   14     6              strategy  Lorg/hibernate/loader/plan/build/spi/LoadPlanBuildingAssociationVisitationStrategy;
           17   25     6              strategy  Lorg/hibernate/loader/plan/build/spi/LoadPlanBuildingAssociationVisitationStrategy;
           18   25     7                  plan  Lorg/hibernate/loader/plan/spi/LoadPlan;
    MethodParameters:
                      Name  Flags
      entityPersister       
      factory               
      uniqueKeyColumnNames  
      uniqueKeyType         
      buildingParameters    

  protected org.hibernate.loader.plan.exec.spi.LoadQueryDetails getStaticLoadQuery();
    descriptor: ()Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
         0: .line 110
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.staticLoadQuery:Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
            areturn
        end local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/entity/plan/AbstractLoadPlanBasedEntityLoader;

  protected java.lang.String getEntityName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
         0: .line 114
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.entityName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/entity/plan/AbstractLoadPlanBasedEntityLoader;

  public final java.util.List loadEntityBatch(org.hibernate.engine.spi.SessionImplementor, java.io.Serializable[], org.hibernate.type.Type, java.lang.Object, java.lang.String, java.io.Serializable, org.hibernate.persister.entity.EntityPersister, org.hibernate.LockOptions);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;[Ljava/io/Serializable;Lorg/hibernate/type/Type;Ljava/lang/Object;Ljava/lang/String;Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/LockOptions;)Ljava/util/List;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=12, args_size=9
        start local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
        start local 1 // org.hibernate.engine.spi.SessionImplementor session
        start local 2 // java.io.Serializable[] ids
        start local 3 // org.hibernate.type.Type idType
        start local 4 // java.lang.Object optionalObject
        start local 5 // java.lang.String optionalEntityName
        start local 6 // java.io.Serializable optionalId
        start local 7 // org.hibernate.persister.entity.EntityPersister persister
        start local 8 // org.hibernate.LockOptions lockOptions
         0: .line 132
            getstatic org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.log:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 2
         1: .line 133
            getstatic org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.log:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Batch loading entity: %s"
            aload 7 /* persister */
            aload 2 /* ids */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.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;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 136
      StackMap locals:
      StackMap stack:
            aload 2 /* ids */
            arraylength
            anewarray org.hibernate.type.Type
            astore 9 /* types */
        start local 9 // org.hibernate.type.Type[] types
         3: .line 137
            aload 9 /* types */
            aload 3 /* idType */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 140
            new org.hibernate.engine.spi.QueryParameters
            dup
            invokespecial org.hibernate.engine.spi.QueryParameters.<init>:()V
            astore 11 /* qp */
        start local 11 // org.hibernate.engine.spi.QueryParameters qp
         5: .line 141
            aload 11 /* qp */
            aload 9 /* types */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterTypes:([Lorg/hibernate/type/Type;)V
         6: .line 142
            aload 11 /* qp */
            aload 2 /* ids */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterValues:([Ljava/lang/Object;)V
         7: .line 143
            aload 11 /* qp */
            aload 8 /* lockOptions */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
         8: .line 145
            aload 0 /* this */
         9: .line 146
            aload 1 /* session */
        10: .line 147
            aload 11 /* qp */
        11: .line 148
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.staticLoadQuery:Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
        12: .line 149
            iconst_0
        13: .line 150
            aconst_null
        14: .line 145
            invokevirtual org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.executeLoad:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            astore 10 /* result */
        end local 11 // org.hibernate.engine.spi.QueryParameters qp
        start local 10 // java.util.List result
        15: .line 152
            goto 22
        end local 10 // java.util.List result
        16: .line 153
      StackMap locals: org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader org.hibernate.engine.spi.SessionImplementor java.io.Serializable[] org.hibernate.type.Type java.lang.Object java.lang.String java.io.Serializable org.hibernate.persister.entity.EntityPersister org.hibernate.LockOptions org.hibernate.type.Type[]
      StackMap stack: java.sql.SQLException
            astore 11 /* sqle */
        start local 11 // java.sql.SQLException sqle
        17: .line 154
            aload 0 /* this */
            invokevirtual org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        18: .line 155
            aload 11 /* sqle */
        19: .line 156
            new java.lang.StringBuilder
            dup
            ldc "could not load an entity batch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.entityPersister:Lorg/hibernate/persister/entity/OuterJoinLoadable;
            aload 2 /* ids */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.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;
        20: .line 157
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.staticLoadQuery:Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
            invokeinterface org.hibernate.loader.plan.exec.spi.LoadQueryDetails.getSqlStatement:()Ljava/lang/String;
        21: .line 154
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 11 // java.sql.SQLException sqle
        start local 10 // java.util.List result
        22: .line 161
      StackMap locals: java.util.List
      StackMap stack:
            getstatic org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.log:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done entity batch load"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        23: .line 163
            aload 10 /* result */
            areturn
        end local 10 // java.util.List result
        end local 9 // org.hibernate.type.Type[] types
        end local 8 // org.hibernate.LockOptions lockOptions
        end local 7 // org.hibernate.persister.entity.EntityPersister persister
        end local 6 // java.io.Serializable optionalId
        end local 5 // java.lang.String optionalEntityName
        end local 4 // java.lang.Object optionalObject
        end local 3 // org.hibernate.type.Type idType
        end local 2 // java.io.Serializable[] ids
        end local 1 // org.hibernate.engine.spi.SessionImplementor session
        end local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   24     0                this  Lorg/hibernate/loader/entity/plan/AbstractLoadPlanBasedEntityLoader;
            0   24     1             session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   24     2                 ids  [Ljava/io/Serializable;
            0   24     3              idType  Lorg/hibernate/type/Type;
            0   24     4      optionalObject  Ljava/lang/Object;
            0   24     5  optionalEntityName  Ljava/lang/String;
            0   24     6          optionalId  Ljava/io/Serializable;
            0   24     7           persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   24     8         lockOptions  Lorg/hibernate/LockOptions;
            3   24     9               types  [Lorg/hibernate/type/Type;
           15   16    10              result  Ljava/util/List;
           22   24    10              result  Ljava/util/List;
            5   15    11                  qp  Lorg/hibernate/engine/spi/QueryParameters;
           17   22    11                sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           4    15      16  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                    Name  Flags
      session             final
      ids                 final
      idType              final
      optionalObject      final
      optionalEntityName  final
      optionalId          final
      persister           final
      lockOptions         

  public java.lang.Object load(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
        start local 1 // java.io.Serializable id
        start local 2 // java.lang.Object optionalObject
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 170
            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.AbstractLoadPlanBasedEntityLoader.load:(Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/LockOptions;)Ljava/lang/Object;
            areturn
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.lang.Object optionalObject
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/hibernate/loader/entity/plan/AbstractLoadPlanBasedEntityLoader;
            0    1     1              id  Ljava/io/Serializable;
            0    1     2  optionalObject  Ljava/lang/Object;
            0    1     3         session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                Name  Flags
      id              
      optionalObject  
      session         

  public java.lang.Object load(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SessionImplementor, org.hibernate.LockOptions);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/LockOptions;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
        start local 1 // java.io.Serializable id
        start local 2 // java.lang.Object optionalObject
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
        start local 4 // org.hibernate.LockOptions lockOptions
         0: .line 178
            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
         1: .line 179
            aload 6 /* qp */
            iconst_1
            anewarray org.hibernate.type.Type
            dup
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.entityPersister:Lorg/hibernate/persister/entity/OuterJoinLoadable;
            invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getIdentifierType:()Lorg/hibernate/type/Type;
            aastore
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterTypes:([Lorg/hibernate/type/Type;)V
         2: .line 180
            aload 6 /* qp */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* id */
            aastore
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterValues:([Ljava/lang/Object;)V
         3: .line 181
            aload 6 /* qp */
            aload 2 /* optionalObject */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalObject:(Ljava/lang/Object;)V
         4: .line 182
            aload 6 /* qp */
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.entityPersister:Lorg/hibernate/persister/entity/OuterJoinLoadable;
            invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getEntityName:()Ljava/lang/String;
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalEntityName:(Ljava/lang/String;)V
         5: .line 183
            aload 6 /* qp */
            aload 1 /* id */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalId:(Ljava/io/Serializable;)V
         6: .line 184
            aload 6 /* qp */
            aload 4 /* lockOptions */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
         7: .line 186
            aload 0 /* this */
         8: .line 187
            aload 3 /* session */
         9: .line 188
            aload 6 /* qp */
        10: .line 189
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.staticLoadQuery:Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
        11: .line 190
            iconst_0
        12: .line 191
            aconst_null
        13: .line 186
            invokevirtual org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.executeLoad:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            astore 7 /* results */
        start local 7 // java.util.List results
        14: .line 193
            aload 0 /* this */
            aload 7 /* results */
            invokevirtual org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.extractEntityResult:(Ljava/util/List;)Ljava/lang/Object;
            astore 5 /* result */
        end local 7 // java.util.List results
        end local 6 // org.hibernate.engine.spi.QueryParameters qp
        start local 5 // java.lang.Object result
        15: .line 194
            goto 27
        end local 5 // java.lang.Object result
        16: .line 195
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 6 /* sqle */
        start local 6 // java.sql.SQLException sqle
        17: .line 196
            aload 0 /* this */
            invokevirtual org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        18: .line 197
            aload 6 /* sqle */
        19: .line 198
            new java.lang.StringBuilder
            dup
            ldc "could not load an entity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        20: .line 199
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.entityPersister:Lorg/hibernate/persister/entity/OuterJoinLoadable;
        21: .line 200
            aload 1 /* id */
        22: .line 201
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.entityPersister:Lorg/hibernate/persister/entity/OuterJoinLoadable;
            invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getIdentifierType:()Lorg/hibernate/type/Type;
        23: .line 202
            aload 0 /* this */
            invokevirtual org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        24: .line 198
            invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/lang/Object;Lorg/hibernate/type/Type;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;
        25: .line 204
            aload 0 /* this */
            getfield org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.staticLoadQuery:Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
            invokeinterface org.hibernate.loader.plan.exec.spi.LoadQueryDetails.getSqlStatement:()Ljava/lang/String;
        26: .line 196
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 6 // java.sql.SQLException sqle
        start local 5 // java.lang.Object result
        27: .line 208
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.log:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done entity load : %s#%s"
            aload 0 /* this */
            invokevirtual org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.getEntityName:()Ljava/lang/String;
            aload 1 /* id */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        28: .line 209
            aload 5 /* result */
            areturn
        end local 5 // java.lang.Object result
        end local 4 // org.hibernate.LockOptions lockOptions
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.lang.Object optionalObject
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   29     0            this  Lorg/hibernate/loader/entity/plan/AbstractLoadPlanBasedEntityLoader;
            0   29     1              id  Ljava/io/Serializable;
            0   29     2  optionalObject  Ljava/lang/Object;
            0   29     3         session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   29     4     lockOptions  Lorg/hibernate/LockOptions;
           15   16     5          result  Ljava/lang/Object;
           27   29     5          result  Ljava/lang/Object;
            1   15     6              qp  Lorg/hibernate/engine/spi/QueryParameters;
           14   15     7         results  Ljava/util/List;
           17   27     6            sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0    15      16  Class java.sql.SQLException
    MethodParameters:
                Name  Flags
      id              
      optionalObject  
      session         
      lockOptions     

  protected java.lang.Object extractEntityResult(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
        start local 1 // java.util.List results
         0: .line 213
            aload 1 /* results */
            invokeinterface java.util.List.size:()I
            ifne 2
         1: .line 214
            aconst_null
            areturn
         2: .line 216
      StackMap locals:
      StackMap stack:
            aload 1 /* results */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 4
         3: .line 217
            aload 1 /* results */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            areturn
         4: .line 220
      StackMap locals:
      StackMap stack:
            aload 1 /* results */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 2 /* row */
        start local 2 // java.lang.Object row
         5: .line 221
            aload 2 /* row */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 9
         6: .line 224
            aload 2 /* row */
            checkcast java.lang.Object[]
            astore 3 /* rowArray */
        start local 3 // java.lang.Object[] rowArray
         7: .line 225
            aload 3 /* rowArray */
            arraylength
            iconst_1
            if_icmpne 10
         8: .line 226
            aload 3 /* rowArray */
            iconst_0
            aaload
            areturn
        end local 3 // java.lang.Object[] rowArray
         9: .line 230
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* row */
            areturn
        end local 2 // java.lang.Object row
        10: .line 234
      StackMap locals:
      StackMap stack:
            new org.hibernate.HibernateException
            dup
            ldc "Unable to interpret given query results in terms of a load-entity query"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.util.List results
        end local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/hibernate/loader/entity/plan/AbstractLoadPlanBasedEntityLoader;
            0   11     1   results  Ljava/util/List;
            5   10     2       row  Ljava/lang/Object;
            7    9     3  rowArray  [Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      results  

  protected int[] getNamedParameterLocs(java.lang.String);
    descriptor: (Ljava/lang/String;)[I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
        start local 1 // java.lang.String name
         0: .line 238
            new org.hibernate.AssertionFailure
            dup
            ldc "no named parameters"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/entity/plan/AbstractLoadPlanBasedEntityLoader;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected void autoDiscoverTypes(java.sql.ResultSet);
    descriptor: (Ljava/sql/ResultSet;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
        start local 1 // java.sql.ResultSet rs
         0: .line 242
            new org.hibernate.AssertionFailure
            dup
            ldc "Auto discover types not supported in this loader"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/entity/plan/AbstractLoadPlanBasedEntityLoader;
            0    1     1    rs  Ljava/sql/ResultSet;
    MethodParameters:
      Name  Flags
      rs    
}
SourceFile: "AbstractLoadPlanBasedEntityLoader.java"