public class org.hibernate.tuple.entity.EntityBasedAssociationAttribute extends org.hibernate.tuple.entity.AbstractEntityBasedAttribute implements org.hibernate.persister.walking.spi.AssociationAttributeDefinition
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.tuple.entity.EntityBasedAssociationAttribute
  super_class: org.hibernate.tuple.entity.AbstractEntityBasedAttribute
{
  private org.hibernate.persister.entity.Joinable joinable;
    descriptor: Lorg/hibernate/persister/entity/Joinable;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.persister.spi.HydratedCompoundValueHandler hydratedCompoundValueHandler;
    descriptor: Lorg/hibernate/persister/spi/HydratedCompoundValueHandler;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.SessionFactoryImplementor, int, java.lang.String, org.hibernate.type.AssociationType, org.hibernate.tuple.BaselineAttributeInformation);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;ILjava/lang/String;Lorg/hibernate/type/AssociationType;Lorg/hibernate/tuple/BaselineAttributeInformation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
        start local 1 // org.hibernate.persister.entity.EntityPersister source
        start local 2 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        start local 3 // int attributeNumber
        start local 4 // java.lang.String attributeName
        start local 5 // org.hibernate.type.AssociationType attributeType
        start local 6 // org.hibernate.tuple.BaselineAttributeInformation baselineInfo
         0: .line 70
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* sessionFactory */
            iload 3 /* attributeNumber */
            aload 4 /* attributeName */
            aload 5 /* attributeType */
            aload 6 /* baselineInfo */
            invokespecial org.hibernate.tuple.entity.AbstractEntityBasedAttribute.<init>:(Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;ILjava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/tuple/BaselineAttributeInformation;)V
         1: .line 71
            return
        end local 6 // org.hibernate.tuple.BaselineAttributeInformation baselineInfo
        end local 5 // org.hibernate.type.AssociationType attributeType
        end local 4 // java.lang.String attributeName
        end local 3 // int attributeNumber
        end local 2 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 1 // org.hibernate.persister.entity.EntityPersister source
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;
            0    2     1           source  Lorg/hibernate/persister/entity/EntityPersister;
            0    2     2   sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0    2     3  attributeNumber  I
            0    2     4    attributeName  Ljava/lang/String;
            0    2     5    attributeType  Lorg/hibernate/type/AssociationType;
            0    2     6     baselineInfo  Lorg/hibernate/tuple/BaselineAttributeInformation;
    MethodParameters:
                 Name  Flags
      source           
      sessionFactory   
      attributeNumber  
      attributeName    
      attributeType    
      baselineInfo     

  public org.hibernate.type.AssociationType getType();
    descriptor: ()Lorg/hibernate/type/AssociationType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
         0: .line 75
            aload 0 /* this */
            invokespecial org.hibernate.tuple.entity.AbstractEntityBasedAttribute.getType:()Lorg/hibernate/type/Type;
            checkcast org.hibernate.type.AssociationType
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;

  public org.hibernate.persister.walking.spi.AssociationKey getAssociationKey();
    descriptor: ()Lorg/hibernate/persister/walking/spi/AssociationKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
         0: .line 79
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getType:()Lorg/hibernate/type/AssociationType;
            astore 1 /* type */
        start local 1 // org.hibernate.type.AssociationType type
         1: .line 81
            aload 1 /* type */
            invokeinterface org.hibernate.type.AssociationType.isAnyType:()Z
            ifeq 11
         2: .line 82
            new org.hibernate.persister.walking.spi.AssociationKey
            dup
         3: .line 83
            aload 1 /* type */
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.attributeNumber:()I
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getSource:()Lorg/hibernate/persister/entity/EntityPersister;
            checkcast org.hibernate.persister.entity.OuterJoinLoadable
            invokestatic org.hibernate.engine.internal.JoinHelper.getLHSTableName:(Lorg/hibernate/type/AssociationType;ILorg/hibernate/persister/entity/OuterJoinLoadable;)Ljava/lang/String;
         4: .line 85
            aload 1 /* type */
         5: .line 86
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.attributeNumber:()I
         6: .line 87
            iconst_0
         7: .line 88
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getSource:()Lorg/hibernate/persister/entity/EntityPersister;
            checkcast org.hibernate.persister.entity.OuterJoinLoadable
         8: .line 89
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.sessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         9: .line 84
            invokestatic org.hibernate.engine.internal.JoinHelper.getLHSColumnNames:(Lorg/hibernate/type/AssociationType;IILorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/Mapping;)[Ljava/lang/String;
        10: .line 82
            invokespecial org.hibernate.persister.walking.spi.AssociationKey.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        11: .line 94
      StackMap locals: org.hibernate.type.AssociationType
      StackMap stack:
            aload 1 /* type */
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.sessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.AssociationType.getAssociatedJoinable:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/persister/entity/Joinable;
            astore 2 /* joinable */
        start local 2 // org.hibernate.persister.entity.Joinable joinable
        12: .line 96
            aload 1 /* type */
            invokeinterface org.hibernate.type.AssociationType.getForeignKeyDirection:()Lorg/hibernate/type/ForeignKeyDirection;
            getstatic org.hibernate.type.ForeignKeyDirection.FOREIGN_KEY_FROM_PARENT:Lorg/hibernate/type/ForeignKeyDirection;
            if_acmpne 22
        13: .line 100
            aload 2 /* joinable */
            invokeinterface org.hibernate.persister.entity.Joinable.isCollection:()Z
            ifeq 18
        14: .line 101
            aload 2 /* joinable */
            checkcast org.hibernate.persister.collection.QueryableCollection
            astore 5 /* collectionPersister */
        start local 5 // org.hibernate.persister.collection.QueryableCollection collectionPersister
        15: .line 102
            aload 5 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.QueryableCollection.getTableName:()Ljava/lang/String;
            astore 3 /* lhsTableName */
        start local 3 // java.lang.String lhsTableName
        16: .line 103
            aload 5 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.QueryableCollection.getElementColumnNames:()[Ljava/lang/String;
            astore 4 /* lhsColumnNames */
        end local 5 // org.hibernate.persister.collection.QueryableCollection collectionPersister
        start local 4 // java.lang.String[] lhsColumnNames
        17: .line 104
            goto 21
        end local 4 // java.lang.String[] lhsColumnNames
        end local 3 // java.lang.String lhsTableName
        18: .line 106
      StackMap locals: org.hibernate.persister.entity.Joinable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.source:()Lorg/hibernate/persister/walking/spi/AttributeSource;
            checkcast org.hibernate.persister.entity.OuterJoinLoadable
            astore 5 /* entityPersister */
        start local 5 // org.hibernate.persister.entity.OuterJoinLoadable entityPersister
        19: .line 107
            aload 1 /* type */
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.attributeNumber:()I
            aload 5 /* entityPersister */
            invokestatic org.hibernate.engine.internal.JoinHelper.getLHSTableName:(Lorg/hibernate/type/AssociationType;ILorg/hibernate/persister/entity/OuterJoinLoadable;)Ljava/lang/String;
            astore 3 /* lhsTableName */
        start local 3 // java.lang.String lhsTableName
        20: .line 108
            aload 1 /* type */
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.attributeNumber:()I
            aload 5 /* entityPersister */
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.sessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.engine.internal.JoinHelper.getLHSColumnNames:(Lorg/hibernate/type/AssociationType;ILorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/Mapping;)[Ljava/lang/String;
            astore 4 /* lhsColumnNames */
        end local 5 // org.hibernate.persister.entity.OuterJoinLoadable entityPersister
        start local 4 // java.lang.String[] lhsColumnNames
        21: .line 110
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack:
            new org.hibernate.persister.walking.spi.AssociationKey
            dup
            aload 3 /* lhsTableName */
            aload 4 /* lhsColumnNames */
            invokespecial org.hibernate.persister.walking.spi.AssociationKey.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        end local 4 // java.lang.String[] lhsColumnNames
        end local 3 // java.lang.String lhsTableName
        22: .line 113
      StackMap locals:
      StackMap stack:
            new org.hibernate.persister.walking.spi.AssociationKey
            dup
            aload 2 /* joinable */
            invokeinterface org.hibernate.persister.entity.Joinable.getTableName:()Ljava/lang/String;
            aload 1 /* type */
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.sessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.engine.internal.JoinHelper.getRHSColumnNames:(Lorg/hibernate/type/AssociationType;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)[Ljava/lang/String;
            invokespecial org.hibernate.persister.walking.spi.AssociationKey.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        end local 2 // org.hibernate.persister.entity.Joinable joinable
        end local 1 // org.hibernate.type.AssociationType type
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   23     0                 this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;
            1   23     1                 type  Lorg/hibernate/type/AssociationType;
           12   23     2             joinable  Lorg/hibernate/persister/entity/Joinable;
           16   18     3         lhsTableName  Ljava/lang/String;
           20   22     3         lhsTableName  Ljava/lang/String;
           17   18     4       lhsColumnNames  [Ljava/lang/String;
           21   22     4       lhsColumnNames  [Ljava/lang/String;
           15   17     5  collectionPersister  Lorg/hibernate/persister/collection/QueryableCollection;
           19   21     5      entityPersister  Lorg/hibernate/persister/entity/OuterJoinLoadable;

  public org.hibernate.persister.walking.spi.AssociationAttributeDefinition$AssociationNature getAssociationNature();
    descriptor: ()Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
         0: .line 119
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getType:()Lorg/hibernate/type/AssociationType;
            invokeinterface org.hibernate.type.AssociationType.isAnyType:()Z
            ifeq 2
         1: .line 120
            getstatic org.hibernate.persister.walking.spi.AssociationAttributeDefinition$AssociationNature.ANY:Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            areturn
         2: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getType:()Lorg/hibernate/type/AssociationType;
            invokeinterface org.hibernate.type.AssociationType.isCollectionType:()Z
            ifeq 4
         3: .line 124
            getstatic org.hibernate.persister.walking.spi.AssociationAttributeDefinition$AssociationNature.COLLECTION:Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            areturn
         4: .line 127
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.persister.walking.spi.AssociationAttributeDefinition$AssociationNature.ENTITY:Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;

  public org.hibernate.persister.walking.spi.AnyMappingDefinition toAnyDefinition();
    descriptor: ()Lorg/hibernate/persister/walking/spi/AnyMappingDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
         0: .line 134
            new org.hibernate.persister.walking.internal.StandardAnyTypeDefinition
            dup
         1: .line 135
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getType:()Lorg/hibernate/type/AssociationType;
            checkcast org.hibernate.type.AnyType
         2: .line 136
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getSource:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.getProperties:()[Lorg/hibernate/tuple/NonIdentifierAttribute;
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.attributeNumber:()I
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isLazy:()Z
         3: .line 134
            invokespecial org.hibernate.persister.walking.internal.StandardAnyTypeDefinition.<init>:(Lorg/hibernate/type/AnyType;Z)V
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;

  protected org.hibernate.persister.entity.Joinable getJoinable();
    descriptor: ()Lorg/hibernate/persister/entity/Joinable;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
         0: .line 143
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getAssociationNature:()Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            getstatic org.hibernate.persister.walking.spi.AssociationAttributeDefinition$AssociationNature.ANY:Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            if_acmpne 2
         1: .line 144
            new org.hibernate.persister.walking.spi.WalkingException
            dup
            ldc "Cannot resolve AnyType to a Joinable"
            invokespecial org.hibernate.persister.walking.spi.WalkingException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityBasedAssociationAttribute.joinable:Lorg/hibernate/persister/entity/Joinable;
            ifnonnull 4
         3: .line 148
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getType:()Lorg/hibernate/type/AssociationType;
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.sessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.AssociationType.getAssociatedJoinable:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/persister/entity/Joinable;
            putfield org.hibernate.tuple.entity.EntityBasedAssociationAttribute.joinable:Lorg/hibernate/persister/entity/Joinable;
         4: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityBasedAssociationAttribute.joinable:Lorg/hibernate/persister/entity/Joinable;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;

  public org.hibernate.persister.walking.spi.EntityDefinition toEntityDefinition();
    descriptor: ()Lorg/hibernate/persister/walking/spi/EntityDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
         0: .line 155
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getAssociationNature:()Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            getstatic org.hibernate.persister.walking.spi.AssociationAttributeDefinition$AssociationNature.ANY:Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            if_acmpne 2
         1: .line 156
            new org.hibernate.persister.walking.spi.WalkingException
            dup
            ldc "Cannot treat any-type attribute as an entity type"
            invokespecial org.hibernate.persister.walking.spi.WalkingException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getAssociationNature:()Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            getstatic org.hibernate.persister.walking.spi.AssociationAttributeDefinition$AssociationNature.COLLECTION:Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            if_acmpne 4
         3: .line 159
            new java.lang.IllegalStateException
            dup
            ldc "Cannot treat collection-valued attribute as entity type"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getJoinable:()Lorg/hibernate/persister/entity/Joinable;
            checkcast org.hibernate.persister.entity.EntityPersister
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;

  public org.hibernate.persister.walking.spi.CollectionDefinition toCollectionDefinition();
    descriptor: ()Lorg/hibernate/persister/walking/spi/CollectionDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
         0: .line 166
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getAssociationNature:()Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            getstatic org.hibernate.persister.walking.spi.AssociationAttributeDefinition$AssociationNature.ANY:Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            if_acmpne 2
         1: .line 167
            new org.hibernate.persister.walking.spi.WalkingException
            dup
            ldc "Cannot treat any-type attribute as a collection type"
            invokespecial org.hibernate.persister.walking.spi.WalkingException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getAssociationNature:()Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            getstatic org.hibernate.persister.walking.spi.AssociationAttributeDefinition$AssociationNature.ENTITY:Lorg/hibernate/persister/walking/spi/AssociationAttributeDefinition$AssociationNature;
            if_acmpne 4
         3: .line 170
            new java.lang.IllegalStateException
            dup
            ldc "Cannot treat entity-valued attribute as collection type"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getJoinable:()Lorg/hibernate/persister/entity/Joinable;
            checkcast org.hibernate.persister.collection.QueryableCollection
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;

  public org.hibernate.engine.FetchStrategy determineFetchPlan(org.hibernate.engine.spi.LoadQueryInfluencers, org.hibernate.loader.PropertyPath);
    descriptor: (Lorg/hibernate/engine/spi/LoadQueryInfluencers;Lorg/hibernate/loader/PropertyPath;)Lorg/hibernate/engine/FetchStrategy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
        start local 1 // org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers
        start local 2 // org.hibernate.loader.PropertyPath propertyPath
         0: .line 177
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getSource:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            astore 3 /* owningPersister */
        start local 3 // org.hibernate.persister.entity.EntityPersister owningPersister
         1: .line 180
            aload 1 /* loadQueryInfluencers */
         2: .line 181
            aload 3 /* owningPersister */
         3: .line 182
            aload 2 /* propertyPath */
         4: .line 183
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.attributeNumber:()I
         5: .line 179
            invokestatic org.hibernate.persister.walking.internal.FetchStrategyHelper.determineFetchStyleByProfile:(Lorg/hibernate/engine/spi/LoadQueryInfluencers;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/loader/PropertyPath;I)Lorg/hibernate/engine/FetchStyle;
            astore 4 /* style */
        start local 4 // org.hibernate.engine.FetchStyle style
         6: .line 185
            aload 4 /* style */
            ifnonnull 11
         7: .line 187
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getSource:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            checkcast org.hibernate.persister.entity.OuterJoinLoadable
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.attributeNumber:()I
            invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getFetchMode:(I)Lorg/hibernate/FetchMode;
         8: .line 188
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getType:()Lorg/hibernate/type/AssociationType;
         9: .line 189
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.sessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        10: .line 186
            invokestatic org.hibernate.persister.walking.internal.FetchStrategyHelper.determineFetchStyleByMetadata:(Lorg/hibernate/FetchMode;Lorg/hibernate/type/AssociationType;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/engine/FetchStyle;
            astore 4 /* style */
        11: .line 193
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.FetchStyle
      StackMap stack:
            new org.hibernate.engine.FetchStrategy
            dup
        12: .line 194
            aload 4 /* style */
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getType:()Lorg/hibernate/type/AssociationType;
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.sessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.persister.walking.internal.FetchStrategyHelper.determineFetchTiming:(Lorg/hibernate/engine/FetchStyle;Lorg/hibernate/type/AssociationType;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/engine/FetchTiming;
        13: .line 195
            aload 4 /* style */
        14: .line 193
            invokespecial org.hibernate.engine.FetchStrategy.<init>:(Lorg/hibernate/engine/FetchTiming;Lorg/hibernate/engine/FetchStyle;)V
            areturn
        end local 4 // org.hibernate.engine.FetchStyle style
        end local 3 // org.hibernate.persister.entity.EntityPersister owningPersister
        end local 2 // org.hibernate.loader.PropertyPath propertyPath
        end local 1 // org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   15     0                  this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;
            0   15     1  loadQueryInfluencers  Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            0   15     2          propertyPath  Lorg/hibernate/loader/PropertyPath;
            1   15     3       owningPersister  Lorg/hibernate/persister/entity/EntityPersister;
            6   15     4                 style  Lorg/hibernate/engine/FetchStyle;
    MethodParameters:
                      Name  Flags
      loadQueryInfluencers  
      propertyPath          

  public org.hibernate.engine.spi.CascadeStyle determineCascadeStyle();
    descriptor: ()Lorg/hibernate/engine/spi/CascadeStyle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
         0: .line 201
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getSource:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyCascadeStyles:()[Lorg/hibernate/engine/spi/CascadeStyle;
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.attributeNumber:()I
            aaload
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;

  public org.hibernate.persister.spi.HydratedCompoundValueHandler getHydratedCompoundValueExtractor();
    descriptor: ()Lorg/hibernate/persister/spi/HydratedCompoundValueHandler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
         0: .line 208
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityBasedAssociationAttribute.hydratedCompoundValueHandler:Lorg/hibernate/persister/spi/HydratedCompoundValueHandler;
            ifnonnull 2
         1: .line 209
            aload 0 /* this */
            new org.hibernate.tuple.entity.EntityBasedAssociationAttribute$1
            dup
            aload 0 /* this */
            invokespecial org.hibernate.tuple.entity.EntityBasedAssociationAttribute$1.<init>:(Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;)V
            putfield org.hibernate.tuple.entity.EntityBasedAssociationAttribute.hydratedCompoundValueHandler:Lorg/hibernate/persister/spi/HydratedCompoundValueHandler;
         2: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityBasedAssociationAttribute.hydratedCompoundValueHandler:Lorg/hibernate/persister/spi/HydratedCompoundValueHandler;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;

  protected java.lang.String loggableMetadata();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
         0: .line 226
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial org.hibernate.tuple.entity.AbstractEntityBasedAttribute.loggableMetadata:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ",association"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityBasedAssociationAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;

  public org.hibernate.type.Type getType();
    descriptor: ()Lorg/hibernate/type/Type;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.getType:()Lorg/hibernate/type/AssociationType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int access$1(org.hibernate.tuple.entity.EntityBasedAssociationAttribute);
    descriptor: (Lorg/hibernate/tuple/entity/EntityBasedAssociationAttribute;)I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.hibernate.tuple.entity.EntityBasedAssociationAttribute.attributeNumber:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "EntityBasedAssociationAttribute.java"
NestMembers:
  org.hibernate.tuple.entity.EntityBasedAssociationAttribute$1
InnerClasses:
  public final AssociationNature = org.hibernate.persister.walking.spi.AssociationAttributeDefinition$AssociationNature of org.hibernate.persister.walking.spi.AssociationAttributeDefinition
  org.hibernate.tuple.entity.EntityBasedAssociationAttribute$1