public class org.hibernate.type.SpecialOneToOneType extends org.hibernate.type.OneToOneType
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.type.SpecialOneToOneType
  super_class: org.hibernate.type.OneToOneType
{
  public void <init>(org.hibernate.type.TypeFactory$TypeScope, java.lang.String, org.hibernate.type.ForeignKeyDirection, java.lang.String, boolean, boolean, java.lang.String, java.lang.String);
    descriptor: (Lorg/hibernate/type/TypeFactory$TypeScope;Ljava/lang/String;Lorg/hibernate/type/ForeignKeyDirection;Ljava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=9
        start local 0 // org.hibernate.type.SpecialOneToOneType this
        start local 1 // org.hibernate.type.TypeFactory$TypeScope scope
        start local 2 // java.lang.String referencedEntityName
        start local 3 // org.hibernate.type.ForeignKeyDirection foreignKeyType
        start local 4 // java.lang.String uniqueKeyPropertyName
        start local 5 // boolean lazy
        start local 6 // boolean unwrapProxy
        start local 7 // java.lang.String entityName
        start local 8 // java.lang.String propertyName
         0: .line 59
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* referencedEntityName */
            aload 3 /* foreignKeyType */
            aload 4 /* uniqueKeyPropertyName */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals: uninitialized-this org.hibernate.type.TypeFactory$TypeScope java.lang.String org.hibernate.type.ForeignKeyDirection java.lang.String int int java.lang.String java.lang.String
      StackMap stack: uninitialized-this org.hibernate.type.TypeFactory$TypeScope java.lang.String org.hibernate.type.ForeignKeyDirection
         1: iconst_0
      StackMap locals: uninitialized-this org.hibernate.type.TypeFactory$TypeScope java.lang.String org.hibernate.type.ForeignKeyDirection java.lang.String int int java.lang.String java.lang.String
      StackMap stack: uninitialized-this org.hibernate.type.TypeFactory$TypeScope java.lang.String org.hibernate.type.ForeignKeyDirection int
         2: aload 4 /* uniqueKeyPropertyName */
            iload 5 /* lazy */
            iload 6 /* unwrapProxy */
            aload 7 /* entityName */
            aload 8 /* propertyName */
            invokespecial org.hibernate.type.SpecialOneToOneType.<init>:(Lorg/hibernate/type/TypeFactory$TypeScope;Ljava/lang/String;Lorg/hibernate/type/ForeignKeyDirection;ZLjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)V
         3: .line 60
            return
        end local 8 // java.lang.String propertyName
        end local 7 // java.lang.String entityName
        end local 6 // boolean unwrapProxy
        end local 5 // boolean lazy
        end local 4 // java.lang.String uniqueKeyPropertyName
        end local 3 // org.hibernate.type.ForeignKeyDirection foreignKeyType
        end local 2 // java.lang.String referencedEntityName
        end local 1 // org.hibernate.type.TypeFactory$TypeScope scope
        end local 0 // org.hibernate.type.SpecialOneToOneType this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    4     0                   this  Lorg/hibernate/type/SpecialOneToOneType;
            0    4     1                  scope  Lorg/hibernate/type/TypeFactory$TypeScope;
            0    4     2   referencedEntityName  Ljava/lang/String;
            0    4     3         foreignKeyType  Lorg/hibernate/type/ForeignKeyDirection;
            0    4     4  uniqueKeyPropertyName  Ljava/lang/String;
            0    4     5                   lazy  Z
            0    4     6            unwrapProxy  Z
            0    4     7             entityName  Ljava/lang/String;
            0    4     8           propertyName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                       Name  Flags
      scope                  
      referencedEntityName   
      foreignKeyType         
      uniqueKeyPropertyName  
      lazy                   
      unwrapProxy            
      entityName             
      propertyName           

  public void <init>(org.hibernate.type.TypeFactory$TypeScope, java.lang.String, org.hibernate.type.ForeignKeyDirection, boolean, java.lang.String, boolean, boolean, java.lang.String, java.lang.String);
    descriptor: (Lorg/hibernate/type/TypeFactory$TypeScope;Ljava/lang/String;Lorg/hibernate/type/ForeignKeyDirection;ZLjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=10, args_size=10
        start local 0 // org.hibernate.type.SpecialOneToOneType this
        start local 1 // org.hibernate.type.TypeFactory$TypeScope scope
        start local 2 // java.lang.String referencedEntityName
        start local 3 // org.hibernate.type.ForeignKeyDirection foreignKeyType
        start local 4 // boolean referenceToPrimaryKey
        start local 5 // java.lang.String uniqueKeyPropertyName
        start local 6 // boolean lazy
        start local 7 // boolean unwrapProxy
        start local 8 // java.lang.String entityName
        start local 9 // java.lang.String propertyName
         0: .line 72
            aload 0 /* this */
         1: .line 73
            aload 1 /* scope */
         2: .line 74
            aload 2 /* referencedEntityName */
         3: .line 75
            aload 3 /* foreignKeyType */
         4: .line 76
            iload 4 /* referenceToPrimaryKey */
         5: .line 77
            aload 5 /* uniqueKeyPropertyName */
         6: .line 78
            iload 6 /* lazy */
         7: .line 79
            iload 7 /* unwrapProxy */
         8: .line 80
            aload 8 /* entityName */
         9: .line 81
            aload 9 /* propertyName */
            invokespecial org.hibernate.type.OneToOneType.<init>:(Lorg/hibernate/type/TypeFactory$TypeScope;Ljava/lang/String;Lorg/hibernate/type/ForeignKeyDirection;ZLjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)V
        10: .line 83
            return
        end local 9 // java.lang.String propertyName
        end local 8 // java.lang.String entityName
        end local 7 // boolean unwrapProxy
        end local 6 // boolean lazy
        end local 5 // java.lang.String uniqueKeyPropertyName
        end local 4 // boolean referenceToPrimaryKey
        end local 3 // org.hibernate.type.ForeignKeyDirection foreignKeyType
        end local 2 // java.lang.String referencedEntityName
        end local 1 // org.hibernate.type.TypeFactory$TypeScope scope
        end local 0 // org.hibernate.type.SpecialOneToOneType this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   11     0                   this  Lorg/hibernate/type/SpecialOneToOneType;
            0   11     1                  scope  Lorg/hibernate/type/TypeFactory$TypeScope;
            0   11     2   referencedEntityName  Ljava/lang/String;
            0   11     3         foreignKeyType  Lorg/hibernate/type/ForeignKeyDirection;
            0   11     4  referenceToPrimaryKey  Z
            0   11     5  uniqueKeyPropertyName  Ljava/lang/String;
            0   11     6                   lazy  Z
            0   11     7            unwrapProxy  Z
            0   11     8             entityName  Ljava/lang/String;
            0   11     9           propertyName  Ljava/lang/String;
    MethodParameters:
                       Name  Flags
      scope                  
      referencedEntityName   
      foreignKeyType         
      referenceToPrimaryKey  
      uniqueKeyPropertyName  
      lazy                   
      unwrapProxy            
      entityName             
      propertyName           

  public int getColumnSpan(org.hibernate.engine.spi.Mapping);
    descriptor: (Lorg/hibernate/engine/spi/Mapping;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.type.SpecialOneToOneType this
        start local 1 // org.hibernate.engine.spi.Mapping mapping
         0: .line 86
            aload 0 /* this */
            aload 1 /* mapping */
            invokespecial org.hibernate.type.OneToOneType.getIdentifierOrUniqueKeyType:(Lorg/hibernate/engine/spi/Mapping;)Lorg/hibernate/type/Type;
            aload 1 /* mapping */
            invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
            ireturn
        end local 1 // org.hibernate.engine.spi.Mapping mapping
        end local 0 // org.hibernate.type.SpecialOneToOneType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/type/SpecialOneToOneType;
            0    1     1  mapping  Lorg/hibernate/engine/spi/Mapping;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
         Name  Flags
      mapping  

  public int[] sqlTypes(org.hibernate.engine.spi.Mapping);
    descriptor: (Lorg/hibernate/engine/spi/Mapping;)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.type.SpecialOneToOneType this
        start local 1 // org.hibernate.engine.spi.Mapping mapping
         0: .line 90
            aload 0 /* this */
            aload 1 /* mapping */
            invokespecial org.hibernate.type.OneToOneType.getIdentifierOrUniqueKeyType:(Lorg/hibernate/engine/spi/Mapping;)Lorg/hibernate/type/Type;
            aload 1 /* mapping */
            invokeinterface org.hibernate.type.Type.sqlTypes:(Lorg/hibernate/engine/spi/Mapping;)[I
            areturn
        end local 1 // org.hibernate.engine.spi.Mapping mapping
        end local 0 // org.hibernate.type.SpecialOneToOneType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/type/SpecialOneToOneType;
            0    1     1  mapping  Lorg/hibernate/engine/spi/Mapping;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
         Name  Flags
      mapping  

  public org.hibernate.metamodel.relational.Size[] dictatedSizes(org.hibernate.engine.spi.Mapping);
    descriptor: (Lorg/hibernate/engine/spi/Mapping;)[Lorg/hibernate/metamodel/relational/Size;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.type.SpecialOneToOneType this
        start local 1 // org.hibernate.engine.spi.Mapping mapping
         0: .line 95
            aload 0 /* this */
            aload 1 /* mapping */
            invokespecial org.hibernate.type.OneToOneType.getIdentifierOrUniqueKeyType:(Lorg/hibernate/engine/spi/Mapping;)Lorg/hibernate/type/Type;
            aload 1 /* mapping */
            invokeinterface org.hibernate.type.Type.dictatedSizes:(Lorg/hibernate/engine/spi/Mapping;)[Lorg/hibernate/metamodel/relational/Size;
            areturn
        end local 1 // org.hibernate.engine.spi.Mapping mapping
        end local 0 // org.hibernate.type.SpecialOneToOneType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/type/SpecialOneToOneType;
            0    1     1  mapping  Lorg/hibernate/engine/spi/Mapping;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
         Name  Flags
      mapping  

  public org.hibernate.metamodel.relational.Size[] defaultSizes(org.hibernate.engine.spi.Mapping);
    descriptor: (Lorg/hibernate/engine/spi/Mapping;)[Lorg/hibernate/metamodel/relational/Size;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.type.SpecialOneToOneType this
        start local 1 // org.hibernate.engine.spi.Mapping mapping
         0: .line 100
            aload 0 /* this */
            aload 1 /* mapping */
            invokespecial org.hibernate.type.OneToOneType.getIdentifierOrUniqueKeyType:(Lorg/hibernate/engine/spi/Mapping;)Lorg/hibernate/type/Type;
            aload 1 /* mapping */
            invokeinterface org.hibernate.type.Type.defaultSizes:(Lorg/hibernate/engine/spi/Mapping;)[Lorg/hibernate/metamodel/relational/Size;
            areturn
        end local 1 // org.hibernate.engine.spi.Mapping mapping
        end local 0 // org.hibernate.type.SpecialOneToOneType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/type/SpecialOneToOneType;
            0    1     1  mapping  Lorg/hibernate/engine/spi/Mapping;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
         Name  Flags
      mapping  

  public boolean useLHSPrimaryKey();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.type.SpecialOneToOneType this
         0: .line 104
            iconst_0
            ireturn
        end local 0 // org.hibernate.type.SpecialOneToOneType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/type/SpecialOneToOneType;

  public java.lang.Object hydrate(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.spi.SessionImplementor, java.lang.Object);
    descriptor: (Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.hibernate.type.SpecialOneToOneType this
        start local 1 // java.sql.ResultSet rs
        start local 2 // java.lang.String[] names
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
        start local 4 // java.lang.Object owner
         0: .line 109
            aload 0 /* this */
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokespecial org.hibernate.type.OneToOneType.getIdentifierOrUniqueKeyType:(Lorg/hibernate/engine/spi/Mapping;)Lorg/hibernate/type/Type;
         1: .line 110
            aload 1 /* rs */
            aload 2 /* names */
            aload 3 /* session */
            aload 4 /* owner */
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 109
            areturn
        end local 4 // java.lang.Object owner
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.lang.String[] names
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.type.SpecialOneToOneType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/hibernate/type/SpecialOneToOneType;
            0    3     1       rs  Ljava/sql/ResultSet;
            0    3     2    names  [Ljava/lang/String;
            0    3     3  session  Lorg/hibernate/engine/spi/SessionImplementor;
            0    3     4    owner  Ljava/lang/Object;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      rs       
      names    
      session  
      owner    

  public java.io.Serializable disassemble(java.lang.Object, org.hibernate.engine.spi.SessionImplementor, java.lang.Object);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.hibernate.type.SpecialOneToOneType this
        start local 1 // java.lang.Object value
        start local 2 // org.hibernate.engine.spi.SessionImplementor session
        start local 3 // java.lang.Object owner
         0: .line 118
            aload 0 /* this */
            aload 2 /* session */
            invokevirtual org.hibernate.type.SpecialOneToOneType.isNotEmbedded:(Lorg/hibernate/engine/spi/SessionImplementor;)Z
            ifeq 2
         1: .line 119
            aload 0 /* this */
            aload 2 /* session */
            invokevirtual org.hibernate.type.SpecialOneToOneType.getIdentifierType:(Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/type/Type;
            aload 1 /* value */
            aload 2 /* session */
            aload 3 /* owner */
            invokeinterface org.hibernate.type.Type.disassemble:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/io/Serializable;
            areturn
         2: .line 122
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            ifnonnull 4
         3: .line 123
            aconst_null
            areturn
         4: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.type.SpecialOneToOneType.getAssociatedEntityName:()Ljava/lang/String;
            aload 1 /* value */
            aload 2 /* session */
            invokestatic org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
            astore 4 /* id */
        start local 4 // java.lang.Object id
         5: .line 129
            aload 4 /* id */
            ifnonnull 11
         6: .line 130
            new org.hibernate.AssertionFailure
            dup
         7: .line 131
            new java.lang.StringBuilder
            dup
            ldc "cannot cache a reference to an object with a null id: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 132
            aload 0 /* this */
            invokevirtual org.hibernate.type.SpecialOneToOneType.getAssociatedEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 131
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 130
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 135
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 2 /* session */
            invokevirtual org.hibernate.type.SpecialOneToOneType.getIdentifierType:(Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/type/Type;
            aload 4 /* id */
            aload 2 /* session */
            aload 3 /* owner */
            invokeinterface org.hibernate.type.Type.disassemble:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/io/Serializable;
            areturn
        end local 4 // java.lang.Object id
        end local 3 // java.lang.Object owner
        end local 2 // org.hibernate.engine.spi.SessionImplementor session
        end local 1 // java.lang.Object value
        end local 0 // org.hibernate.type.SpecialOneToOneType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/hibernate/type/SpecialOneToOneType;
            0   12     1    value  Ljava/lang/Object;
            0   12     2  session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   12     3    owner  Ljava/lang/Object;
            5   12     4       id  Ljava/lang/Object;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      value    
      session  
      owner    

  public java.lang.Object assemble(java.io.Serializable, org.hibernate.engine.spi.SessionImplementor, java.lang.Object);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.hibernate.type.SpecialOneToOneType this
        start local 1 // java.io.Serializable oid
        start local 2 // org.hibernate.engine.spi.SessionImplementor session
        start local 3 // java.lang.Object owner
         0: .line 143
            aload 0 /* this */
            aload 2 /* session */
            invokevirtual org.hibernate.type.SpecialOneToOneType.getIdentifierType:(Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/type/Type;
            aload 1 /* oid */
            aload 2 /* session */
            aconst_null
            invokeinterface org.hibernate.type.Type.assemble:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 4 /* id */
        start local 4 // java.io.Serializable id
         1: .line 145
            aload 0 /* this */
            aload 2 /* session */
            invokevirtual org.hibernate.type.SpecialOneToOneType.isNotEmbedded:(Lorg/hibernate/engine/spi/SessionImplementor;)Z
            ifeq 2
            aload 4 /* id */
            areturn
         2: .line 147
      StackMap locals: java.io.Serializable
      StackMap stack:
            aload 4 /* id */
            ifnonnull 4
         3: .line 148
            aconst_null
            areturn
         4: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* id */
            aload 2 /* session */
            invokevirtual org.hibernate.type.SpecialOneToOneType.resolveIdentifier:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
            areturn
        end local 4 // java.io.Serializable id
        end local 3 // java.lang.Object owner
        end local 2 // org.hibernate.engine.spi.SessionImplementor session
        end local 1 // java.io.Serializable oid
        end local 0 // org.hibernate.type.SpecialOneToOneType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/hibernate/type/SpecialOneToOneType;
            0    5     1      oid  Ljava/io/Serializable;
            0    5     2  session  Lorg/hibernate/engine/spi/SessionImplementor;
            0    5     3    owner  Ljava/lang/Object;
            1    5     4       id  Ljava/io/Serializable;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      oid      
      session  
      owner    
}
SourceFile: "SpecialOneToOneType.java"
InnerClasses:
  public abstract TypeScope = org.hibernate.type.TypeFactory$TypeScope of org.hibernate.type.TypeFactory