public final class org.hibernate.engine.internal.ForeignKeys
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.hibernate.engine.internal.ForeignKeys
super_class: java.lang.Object
{
public static boolean isNotTransient(java.lang.String, java.lang.Object, java.lang.Boolean, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Boolean;Lorg/hibernate/engine/spi/SessionImplementor;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof org.hibernate.proxy.HibernateProxy
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 1
invokeinterface org.hibernate.engine.spi.PersistenceContext.isEntryFor:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokestatic org.hibernate.engine.internal.ForeignKeys.isTransient:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Boolean;Lorg/hibernate/engine/spi/SessionImplementor;)Z
ifeq 5
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 entityName Ljava/lang/String;
0 7 1 entity Ljava/lang/Object;
0 7 2 assumed Ljava/lang/Boolean;
0 7 3 session Lorg/hibernate/engine/spi/SessionImplementor;
MethodParameters:
Name Flags
entityName
entity
assumed
session
public static boolean isTransient(java.lang.String, java.lang.Object, java.lang.Boolean, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Boolean;Lorg/hibernate/engine/spi/SessionImplementor;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getstatic org.hibernate.bytecode.instrumentation.spi.LazyPropertyInitializer.UNFETCHED_PROPERTY:Ljava/io/Serializable;
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.hibernate.engine.spi.SessionImplementor.getInterceptor:()Lorg/hibernate/Interceptor;
aload 1
invokeinterface org.hibernate.Interceptor.isTransient:(Ljava/lang/Object;)Ljava/lang/Boolean;
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 4
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
5: StackMap locals: java.lang.Boolean
StackMap stack:
aload 3
aload 0
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getEntityPersister:(Ljava/lang/String;Ljava/lang/Object;)Lorg/hibernate/persister/entity/EntityPersister;
astore 5
start local 5 6: aload 5
aload 1
aload 3
invokeinterface org.hibernate.persister.entity.EntityPersister.isTransient:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Boolean;
astore 4
7: aload 4
ifnull 9
8: aload 4
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
9: StackMap locals: org.hibernate.persister.entity.EntityPersister
StackMap stack:
aload 2
ifnull 11
10: aload 2
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
11: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
12: aload 5
aload 1
aload 3
invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifier:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
13: aload 5
14: invokeinterface org.hibernate.engine.spi.PersistenceContext.getDatabaseSnapshot:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)[Ljava/lang/Object;
astore 6
start local 6 15: aload 6
ifnonnull 16
iconst_1
ireturn
StackMap locals: java.lang.Object[]
StackMap stack:
16: iconst_0
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 entityName Ljava/lang/String;
0 17 1 entity Ljava/lang/Object;
0 17 2 assumed Ljava/lang/Boolean;
0 17 3 session Lorg/hibernate/engine/spi/SessionImplementor;
3 17 4 isUnsaved Ljava/lang/Boolean;
6 17 5 persister Lorg/hibernate/persister/entity/EntityPersister;
15 17 6 snapshot [Ljava/lang/Object;
MethodParameters:
Name Flags
entityName
entity
assumed
session
public static java.io.Serializable getEntityIdentifierIfNotUnsaved(java.lang.String, java.lang.Object, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getContextEntityIdentifier:(Ljava/lang/Object;)Ljava/io/Serializable;
astore 3
start local 3 3: aload 3
ifnonnull 13
4: aload 0
aload 1
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 2
invokestatic org.hibernate.engine.internal.ForeignKeys.isTransient:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Boolean;Lorg/hibernate/engine/spi/SessionImplementor;)Z
ifeq 12
5: new org.hibernate.TransientObjectException
dup
6: new java.lang.StringBuilder
dup
ldc "object references an unsaved transient instance - save the transient instance before flushing: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 0
ifnonnull 8
aload 2
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.guessEntityName:(Ljava/lang/Object;)Ljava/lang/String;
goto 9
StackMap locals: java.lang.String java.lang.Object org.hibernate.engine.spi.SessionImplementor java.io.Serializable
StackMap stack: new 5 new 5 java.lang.StringBuilder
8: aload 0
StackMap locals: java.lang.String java.lang.Object org.hibernate.engine.spi.SessionImplementor java.io.Serializable
StackMap stack: new 5 new 5 java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial org.hibernate.TransientObjectException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getEntityPersister:(Ljava/lang/String;Ljava/lang/Object;)Lorg/hibernate/persister/entity/EntityPersister;
aload 1
aload 2
invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifier:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
astore 3
13: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 entityName Ljava/lang/String;
0 14 1 object Ljava/lang/Object;
0 14 2 session Lorg/hibernate/engine/spi/SessionImplementor;
3 14 3 id Ljava/io/Serializable;
Exceptions:
throws org.hibernate.TransientObjectException
MethodParameters:
Name Flags
entityName final
object final
session final
public static org.hibernate.engine.internal.NonNullableTransientDependencies findNonNullableTransientEntities(java.lang.String, java.lang.Object, java.lang.Object[], boolean, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;ZLorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/internal/NonNullableTransientDependencies;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.hibernate.engine.internal.ForeignKeys$Nullifier
dup
aload 1
iconst_0
iload 3
aload 4
invokespecial org.hibernate.engine.internal.ForeignKeys$Nullifier.<init>:(Ljava/lang/Object;ZZLorg/hibernate/engine/spi/SessionImplementor;)V
astore 5
start local 5 1: aload 4
aload 0
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getEntityPersister:(Ljava/lang/String;Ljava/lang/Object;)Lorg/hibernate/persister/entity/EntityPersister;
astore 6
start local 6 2: aload 6
invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyNames:()[Ljava/lang/String;
astore 7
start local 7 3: aload 6
invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyTypes:()[Lorg/hibernate/type/Type;
astore 8
start local 8 4: aload 6
invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyNullability:()[Z
astore 9
start local 9 5: new org.hibernate.engine.internal.NonNullableTransientDependencies
dup
invokespecial org.hibernate.engine.internal.NonNullableTransientDependencies.<init>:()V
astore 10
start local 10 6: iconst_0
istore 11
start local 11 7: goto 17
8: StackMap locals: java.lang.String java.lang.Object java.lang.Object[] int org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.internal.ForeignKeys$Nullifier org.hibernate.persister.entity.EntityPersister java.lang.String[] org.hibernate.type.Type[] boolean[] org.hibernate.engine.internal.NonNullableTransientDependencies int
StackMap stack:
aload 5
9: aload 2
iload 11
aaload
10: aload 7
iload 11
aaload
11: aload 8
iload 11
aaload
12: aload 9
iload 11
baload
13: aload 4
14: aload 10
15: invokestatic org.hibernate.engine.internal.ForeignKeys.collectNonNullableTransientEntities:(Lorg/hibernate/engine/internal/ForeignKeys$Nullifier;Ljava/lang/Object;Ljava/lang/String;Lorg/hibernate/type/Type;ZLorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/internal/NonNullableTransientDependencies;)V
16: iinc 11 1
StackMap locals:
StackMap stack:
17: iload 11
aload 8
arraylength
if_icmplt 8
end local 11 18: aload 10
invokevirtual org.hibernate.engine.internal.NonNullableTransientDependencies.isEmpty:()Z
ifeq 19
aconst_null
goto 20
StackMap locals:
StackMap stack:
19: aload 10
StackMap locals:
StackMap stack: org.hibernate.engine.internal.NonNullableTransientDependencies
20: areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 entityName Ljava/lang/String;
0 21 1 entity Ljava/lang/Object;
0 21 2 values [Ljava/lang/Object;
0 21 3 isEarlyInsert Z
0 21 4 session Lorg/hibernate/engine/spi/SessionImplementor;
1 21 5 nullifier Lorg/hibernate/engine/internal/ForeignKeys$Nullifier;
2 21 6 persister Lorg/hibernate/persister/entity/EntityPersister;
3 21 7 propertyNames [Ljava/lang/String;
4 21 8 types [Lorg/hibernate/type/Type;
5 21 9 nullability [Z
6 21 10 nonNullableTransientEntities Lorg/hibernate/engine/internal/NonNullableTransientDependencies;
7 18 11 i I
MethodParameters:
Name Flags
entityName
entity
values
isEarlyInsert
session
private static void collectNonNullableTransientEntities(org.hibernate.engine.internal.ForeignKeys$Nullifier, java.lang.Object, java.lang.String, org.hibernate.type.Type, boolean, org.hibernate.engine.spi.SessionImplementor, org.hibernate.engine.internal.NonNullableTransientDependencies);
descriptor: (Lorg/hibernate/engine/internal/ForeignKeys$Nullifier;Ljava/lang/Object;Ljava/lang/String;Lorg/hibernate/type/Type;ZLorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/internal/NonNullableTransientDependencies;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=13, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.hibernate.type.Type.isEntityType:()Z
ifeq 9
3: aload 3
checkcast org.hibernate.type.EntityType
astore 7
start local 7 4: iload 4
ifne 32
5: aload 7
invokevirtual org.hibernate.type.EntityType.isOneToOne:()Z
ifne 32
6: aload 0
aload 7
invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:()Ljava/lang/String;
aload 1
invokevirtual org.hibernate.engine.internal.ForeignKeys$Nullifier.isNullifiable:(Ljava/lang/String;Ljava/lang/Object;)Z
ifeq 32
7: aload 6
aload 2
aload 1
invokevirtual org.hibernate.engine.internal.NonNullableTransientDependencies.add:(Ljava/lang/String;Ljava/lang/Object;)V
end local 7 8: goto 32
9: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.hibernate.type.Type.isAnyType:()Z
ifeq 13
10: iload 4
ifne 32
aload 0
aconst_null
aload 1
invokevirtual org.hibernate.engine.internal.ForeignKeys$Nullifier.isNullifiable:(Ljava/lang/String;Ljava/lang/Object;)Z
ifeq 32
11: aload 6
aload 2
aload 1
invokevirtual org.hibernate.engine.internal.NonNullableTransientDependencies.add:(Ljava/lang/String;Ljava/lang/Object;)V
12: goto 32
13: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.hibernate.type.Type.isComponentType:()Z
ifeq 32
14: aload 3
checkcast org.hibernate.type.CompositeType
astore 7
start local 7 15: aload 7
invokeinterface org.hibernate.type.CompositeType.getPropertyNullability:()[Z
astore 8
start local 8 16: aload 8
ifnull 32
17: aload 7
invokeinterface org.hibernate.type.CompositeType.getPropertyNames:()[Ljava/lang/String;
astore 9
start local 9 18: aload 7
aload 1
aload 5
invokeinterface org.hibernate.type.CompositeType.getPropertyValues:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)[Ljava/lang/Object;
astore 10
start local 10 19: aload 7
invokeinterface org.hibernate.type.CompositeType.getSubtypes:()[Lorg/hibernate/type/Type;
astore 11
start local 11 20: iconst_0
istore 12
start local 12 21: goto 31
22: StackMap locals: org.hibernate.engine.internal.ForeignKeys$Nullifier java.lang.Object java.lang.String org.hibernate.type.Type int org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.internal.NonNullableTransientDependencies org.hibernate.type.CompositeType boolean[] java.lang.String[] java.lang.Object[] org.hibernate.type.Type[] int
StackMap stack:
aload 0
23: aload 10
iload 12
aaload
24: aload 9
iload 12
aaload
25: aload 11
iload 12
aaload
26: aload 8
iload 12
baload
27: aload 5
28: aload 6
29: invokestatic org.hibernate.engine.internal.ForeignKeys.collectNonNullableTransientEntities:(Lorg/hibernate/engine/internal/ForeignKeys$Nullifier;Ljava/lang/Object;Ljava/lang/String;Lorg/hibernate/type/Type;ZLorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/internal/NonNullableTransientDependencies;)V
30: iinc 12 1
StackMap locals:
StackMap stack:
31: iload 12
aload 10
arraylength
if_icmplt 22
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 32: StackMap locals: org.hibernate.engine.internal.ForeignKeys$Nullifier java.lang.Object java.lang.String org.hibernate.type.Type int org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.internal.NonNullableTransientDependencies
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 nullifier Lorg/hibernate/engine/internal/ForeignKeys$Nullifier;
0 33 1 value Ljava/lang/Object;
0 33 2 propertyName Ljava/lang/String;
0 33 3 type Lorg/hibernate/type/Type;
0 33 4 isNullable Z
0 33 5 session Lorg/hibernate/engine/spi/SessionImplementor;
0 33 6 nonNullableTransientEntities Lorg/hibernate/engine/internal/NonNullableTransientDependencies;
4 8 7 entityType Lorg/hibernate/type/EntityType;
15 32 7 actype Lorg/hibernate/type/CompositeType;
16 32 8 subValueNullability [Z
18 32 9 subPropertyNames [Ljava/lang/String;
19 32 10 subvalues [Ljava/lang/Object;
20 32 11 subtypes [Lorg/hibernate/type/Type;
21 32 12 j I
MethodParameters:
Name Flags
nullifier
value
propertyName
type
isNullable
session
nonNullableTransientEntities
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/engine/internal/ForeignKeys;
}
SourceFile: "ForeignKeys.java"
NestMembers:
org.hibernate.engine.internal.ForeignKeys$Nullifier
InnerClasses:
public Nullifier = org.hibernate.engine.internal.ForeignKeys$Nullifier of org.hibernate.engine.internal.ForeignKeys