public final class org.hibernate.engine.spi.EntityKey implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.hibernate.engine.spi.EntityKey
  super_class: java.lang.Object
{
  private final java.io.Serializable identifier;
    descriptor: Ljava/io/Serializable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int hashCode;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(java.io.Serializable, org.hibernate.persister.entity.EntityPersister);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.engine.spi.EntityKey this
        start local 1 // java.io.Serializable id
        start local 2 // org.hibernate.persister.entity.EntityPersister persister
         0: .line 65
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 66
            aload 0 /* this */
            aload 2 /* persister */
            putfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
         2: .line 67
            aload 1 /* id */
            ifnonnull 4
         3: .line 68
            new org.hibernate.AssertionFailure
            dup
            ldc "null identifier"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 70
      StackMap locals: org.hibernate.engine.spi.EntityKey java.io.Serializable org.hibernate.persister.entity.EntityPersister
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            putfield org.hibernate.engine.spi.EntityKey.identifier:Ljava/io/Serializable;
         5: .line 71
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.engine.spi.EntityKey.generateHashCode:()I
            putfield org.hibernate.engine.spi.EntityKey.hashCode:I
         6: .line 72
            return
        end local 2 // org.hibernate.persister.entity.EntityPersister persister
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/hibernate/engine/spi/EntityKey;
            0    7     1         id  Ljava/io/Serializable;
            0    7     2  persister  Lorg/hibernate/persister/entity/EntityPersister;
    MethodParameters:
           Name  Flags
      id         
      persister  

  private int generateHashCode();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.hibernate.engine.spi.EntityKey this
         0: .line 75
            bipush 17
            istore 1 /* result */
        start local 1 // int result
         1: .line 76
            bipush 37
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifierType:()Lorg/hibernate/type/Type;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.identifier:Ljava/io/Serializable;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.getHashCode:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)I
            iadd
            istore 1 /* result */
         2: .line 77
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/engine/spi/EntityKey;
            1    3     1  result  I

  public boolean isBatchLoadable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.EntityKey this
         0: .line 81
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.isBatchLoadable:()Z
            ireturn
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/EntityKey;

  public java.io.Serializable getIdentifier();
    descriptor: ()Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.EntityKey this
         0: .line 85
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.identifier:Ljava/io/Serializable;
            areturn
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/EntityKey;

  public java.lang.String getEntityName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.EntityKey this
         0: .line 89
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/EntityKey;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.engine.spi.EntityKey this
        start local 1 // java.lang.Object other
         0: .line 94
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 95
            iconst_1
            ireturn
         2: .line 97
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            ifnull 3
            ldc Lorg/hibernate/engine/spi/EntityKey;
            aload 1 /* other */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 98
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 101
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.hibernate.engine.spi.EntityKey
            astore 2 /* otherKey */
        start local 2 // org.hibernate.engine.spi.EntityKey otherKey
         5: .line 102
            aload 0 /* this */
            aload 2 /* otherKey */
            invokevirtual org.hibernate.engine.spi.EntityKey.samePersistentType:(Lorg/hibernate/engine/spi/EntityKey;)Z
            ifeq 8
         6: .line 103
            aload 0 /* this */
            aload 2 /* otherKey */
            invokevirtual org.hibernate.engine.spi.EntityKey.sameIdentifier:(Lorg/hibernate/engine/spi/EntityKey;)Z
            ifeq 8
         7: .line 102
            iconst_1
            ireturn
      StackMap locals: org.hibernate.engine.spi.EntityKey
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // org.hibernate.engine.spi.EntityKey otherKey
        end local 1 // java.lang.Object other
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/hibernate/engine/spi/EntityKey;
            0    9     1     other  Ljava/lang/Object;
            5    9     2  otherKey  Lorg/hibernate/engine/spi/EntityKey;
    MethodParameters:
       Name  Flags
      other  

  private boolean sameIdentifier(org.hibernate.engine.spi.EntityKey);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.EntityKey this
        start local 1 // org.hibernate.engine.spi.EntityKey otherKey
         0: .line 108
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifierType:()Lorg/hibernate/type/Type;
            aload 1 /* otherKey */
            getfield org.hibernate.engine.spi.EntityKey.identifier:Ljava/io/Serializable;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.identifier:Ljava/io/Serializable;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.isEqual:(Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Z
            ireturn
        end local 1 // org.hibernate.engine.spi.EntityKey otherKey
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/hibernate/engine/spi/EntityKey;
            0    1     1  otherKey  Lorg/hibernate/engine/spi/EntityKey;
    MethodParameters:
          Name  Flags
      otherKey  final

  private boolean samePersistentType(org.hibernate.engine.spi.EntityKey);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.EntityKey this
        start local 1 // org.hibernate.engine.spi.EntityKey otherKey
         0: .line 112
            aload 1 /* otherKey */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            if_acmpne 2
         1: .line 113
            iconst_1
            ireturn
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 1 /* otherKey */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getRootEntityName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getRootEntityName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.compare.EqualsHelper.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.hibernate.engine.spi.EntityKey otherKey
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/hibernate/engine/spi/EntityKey;
            0    3     1  otherKey  Lorg/hibernate/engine/spi/EntityKey;
    MethodParameters:
          Name  Flags
      otherKey  final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.EntityKey this
         0: .line 122
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.hashCode:I
            ireturn
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/EntityKey;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.EntityKey this
         0: .line 127
            new java.lang.StringBuilder
            dup
            ldc "EntityKey"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 128
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.identifier:Ljava/io/Serializable;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 127
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/spi/EntityKey;

  public void serialize(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.EntityKey this
        start local 1 // java.io.ObjectOutputStream oos
         0: .line 140
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.identifier:Ljava/io/Serializable;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         1: .line 141
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.EntityKey.persister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         2: .line 142
            return
        end local 1 // java.io.ObjectOutputStream oos
        end local 0 // org.hibernate.engine.spi.EntityKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/spi/EntityKey;
            0    3     1   oos  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oos   

  public static org.hibernate.engine.spi.EntityKey deserialize(java.io.ObjectInputStream, org.hibernate.engine.spi.SessionFactoryImplementor);
    descriptor: (Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/engine/spi/EntityKey;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream ois
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
         0: .line 157
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 2 /* id */
        start local 2 // java.io.Serializable id
         1: .line 158
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* entityName */
        start local 3 // java.lang.String entityName
         2: .line 159
            aload 1 /* sessionFactory */
            aload 3 /* entityName */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 4 /* entityPersister */
        start local 4 // org.hibernate.persister.entity.EntityPersister entityPersister
         3: .line 160
            new org.hibernate.engine.spi.EntityKey
            dup
            aload 2 /* id */
            aload 4 /* entityPersister */
            invokespecial org.hibernate.engine.spi.EntityKey.<init>:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)V
            areturn
        end local 4 // org.hibernate.persister.entity.EntityPersister entityPersister
        end local 3 // java.lang.String entityName
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 0 // java.io.ObjectInputStream ois
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0              ois  Ljava/io/ObjectInputStream;
            0    4     1   sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            1    4     2               id  Ljava/io/Serializable;
            2    4     3       entityName  Ljava/lang/String;
            3    4     4  entityPersister  Lorg/hibernate/persister/entity/EntityPersister;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
                Name  Flags
      ois             
      sessionFactory  
}
SourceFile: "EntityKey.java"