abstract class org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl<T>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl
super_class: java.lang.Object
{
private final org.hibernate.persister.entity.EntityPersister entityPersister;
descriptor: Lorg/hibernate/persister/entity/EntityPersister;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.hibernate.LockOptions lockOptions;
descriptor: Lorg/hibernate/LockOptions;
flags: (0x0002) ACC_PRIVATE
private boolean synchronizationEnabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
final org.hibernate.internal.SessionImpl this$0;
descriptor: Lorg/hibernate/internal/SessionImpl;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(org.hibernate.internal.SessionImpl, org.hibernate.persister.entity.EntityPersister);
descriptor: (Lorg/hibernate/internal/SessionImpl;Lorg/hibernate/persister/entity/EntityPersister;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.synchronizationEnabled:Z
2: aload 0
aload 2
putfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
3: aload 2
invokeinterface org.hibernate.persister.entity.EntityPersister.hasNaturalIdentifier:()Z
ifne 7
4: new org.hibernate.HibernateException
dup
5: ldc "Entity [%s] did not define a natural id"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
6: invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl org.hibernate.internal.SessionImpl org.hibernate.persister.entity.EntityPersister
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hibernate/internal/SessionImpl$BaseNaturalIdLoadAccessImpl<TT;>;
0 8 2 entityPersister Lorg/hibernate/persister/entity/EntityPersister;
MethodParameters:
Name Flags
this$0 final
entityPersister
public org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl<T> with(org.hibernate.LockOptions);
descriptor: (Lorg/hibernate/LockOptions;)Lorg/hibernate/internal/SessionImpl$BaseNaturalIdLoadAccessImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.lockOptions:Lorg/hibernate/LockOptions;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/internal/SessionImpl$BaseNaturalIdLoadAccessImpl<TT;>;
0 2 1 lockOptions Lorg/hibernate/LockOptions;
Signature: (Lorg/hibernate/LockOptions;)Lorg/hibernate/internal/SessionImpl$BaseNaturalIdLoadAccessImpl<TT;>;
MethodParameters:
Name Flags
lockOptions
protected void synchronizationEnabled(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.synchronizationEnabled:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/internal/SessionImpl$BaseNaturalIdLoadAccessImpl<TT;>;
0 2 1 synchronizationEnabled Z
MethodParameters:
Name Flags
synchronizationEnabled
protected final java.io.Serializable resolveNaturalId(java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Ljava/util/Map;)Ljava/io/Serializable;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.performAnyNeededCrossReferenceSynchronizations:()V
1: new org.hibernate.event.spi.ResolveNaturalIdEvent
dup
aload 1
aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
invokespecial org.hibernate.event.spi.ResolveNaturalIdEvent.<init>:(Ljava/util/Map;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/event/spi/EventSource;)V
2: astore 2
start local 2 3: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
aload 2
invokevirtual org.hibernate.internal.SessionImpl.fireResolveNaturalId:(Lorg/hibernate/event/spi/ResolveNaturalIdEvent;)V
4: aload 2
invokevirtual org.hibernate.event.spi.ResolveNaturalIdEvent.getEntityId:()Ljava/io/Serializable;
getstatic org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper.INVALID_NATURAL_ID_REFERENCE:Ljava/io/Serializable;
if_acmpne 6
5: aconst_null
areturn
6: StackMap locals: org.hibernate.event.spi.ResolveNaturalIdEvent
StackMap stack:
aload 2
invokevirtual org.hibernate.event.spi.ResolveNaturalIdEvent.getEntityId:()Ljava/io/Serializable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hibernate/internal/SessionImpl$BaseNaturalIdLoadAccessImpl<TT;>;
0 7 1 naturalIdParameters Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
3 7 2 event Lorg/hibernate/event/spi/ResolveNaturalIdEvent;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Ljava/io/Serializable;
MethodParameters:
Name Flags
naturalIdParameters
protected void performAnyNeededCrossReferenceSynchronizations();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.synchronizationEnabled:Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
invokevirtual org.hibernate.tuple.entity.EntityMetamodel.hasImmutableNaturalId:()Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
invokevirtual org.hibernate.internal.SessionImpl.isTransactionInProgress:()Z
ifne 6
5: return
6: StackMap locals:
StackMap stack:
getstatic org.hibernate.internal.SessionImpl.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
invokeinterface org.hibernate.internal.EntityManagerMessageLogger.isDebugEnabled:()Z
istore 1
start local 1 7: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
invokevirtual org.hibernate.internal.SessionImpl.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
invokeinterface org.hibernate.engine.spi.PersistenceContext.getNaturalIdHelper:()Lorg/hibernate/engine/spi/PersistenceContext$NaturalIdHelper;
8: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
invokeinterface org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper.getCachedPkResolutions:(Lorg/hibernate/persister/entity/EntityPersister;)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 30
StackMap locals: org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl int top java.util.Iterator
StackMap stack:
9: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.Serializable
astore 2
start local 2 10: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
aload 2
aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
invokevirtual org.hibernate.internal.SessionImpl.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
astore 4
start local 4 11: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
invokevirtual org.hibernate.internal.SessionImpl.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 4
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
astore 5
start local 5 12: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
invokevirtual org.hibernate.internal.SessionImpl.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 5
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
astore 6
start local 6 13: aload 6
ifnonnull 21
14: iload 1
ifeq 30
15: getstatic org.hibernate.internal.SessionImpl.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
16: new java.lang.StringBuilder
dup
ldc "Cached natural-id/pk resolution linked to null EntityEntry in persistence context : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
aload 2
aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
invokevirtual org.hibernate.internal.SessionImpl.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;
18: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokeinterface org.hibernate.internal.EntityManagerMessageLogger.debug:(Ljava/lang/Object;)V
20: goto 30
21: StackMap locals: org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl int java.io.Serializable java.util.Iterator org.hibernate.engine.spi.EntityKey java.lang.Object org.hibernate.engine.spi.EntityEntry
StackMap stack:
aload 6
aload 5
invokeinterface org.hibernate.engine.spi.EntityEntry.requiresDirtyCheck:(Ljava/lang/Object;)Z
ifne 23
22: goto 30
23: StackMap locals:
StackMap stack:
aload 6
invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
getstatic org.hibernate.engine.spi.Status.MANAGED:Lorg/hibernate/engine/spi/Status;
if_acmpeq 25
24: goto 30
25: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
invokevirtual org.hibernate.internal.SessionImpl.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
invokeinterface org.hibernate.engine.spi.PersistenceContext.getNaturalIdHelper:()Lorg/hibernate/engine/spi/PersistenceContext$NaturalIdHelper;
26: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
27: aload 2
28: aload 5
29: invokeinterface org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper.handleSynchronization:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/io/Serializable;Ljava/lang/Object;)V
end local 6 end local 5 end local 4 end local 2 30: StackMap locals: org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
31: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/hibernate/internal/SessionImpl$BaseNaturalIdLoadAccessImpl<TT;>;
7 32 1 debugEnabled Z
10 30 2 pk Ljava/io/Serializable;
11 30 4 entityKey Lorg/hibernate/engine/spi/EntityKey;
12 30 5 entity Ljava/lang/Object;
13 30 6 entry Lorg/hibernate/engine/spi/EntityEntry;
protected final org.hibernate.IdentifierLoadAccess getIdentifierLoadAccess();
descriptor: ()Lorg/hibernate/IdentifierLoadAccess;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=2, args_size=1
start local 0 0: new org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl
dup
aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
invokespecial org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.<init>:(Lorg/hibernate/internal/SessionImpl;Lorg/hibernate/persister/entity/EntityPersister;)V
astore 1
start local 1 1: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.lockOptions:Lorg/hibernate/LockOptions;
ifnull 3
2: aload 1
aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.lockOptions:Lorg/hibernate/LockOptions;
invokevirtual org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.with:(Lorg/hibernate/LockOptions;)Lorg/hibernate/internal/SessionImpl$IdentifierLoadAccessImpl;
pop
3: StackMap locals: org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hibernate/internal/SessionImpl$BaseNaturalIdLoadAccessImpl<TT;>;
1 4 1 identifierLoadAccess Lorg/hibernate/internal/SessionImpl$IdentifierLoadAccessImpl;
protected org.hibernate.persister.entity.EntityPersister entityPersister();
descriptor: ()Lorg/hibernate/persister/entity/EntityPersister;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/SessionImpl$BaseNaturalIdLoadAccessImpl<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "SessionImpl.java"
NestHost: org.hibernate.internal.SessionImpl
InnerClasses:
public abstract NaturalIdHelper = org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper of org.hibernate.engine.spi.PersistenceContext
private abstract BaseNaturalIdLoadAccessImpl = org.hibernate.internal.SessionImpl$BaseNaturalIdLoadAccessImpl of org.hibernate.internal.SessionImpl
private IdentifierLoadAccessImpl = org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl of org.hibernate.internal.SessionImpl