public final class org.hibernate.engine.internal.Collections
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.hibernate.engine.internal.Collections
super_class: java.lang.Object
{
private static final org.hibernate.internal.CoreMessageLogger LOG;
descriptor: Lorg/hibernate/internal/CoreMessageLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/hibernate/internal/CoreMessageLogger;
1: ldc Lorg/hibernate/engine/internal/Collections;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
2: invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.hibernate.internal.CoreMessageLogger
putstatic org.hibernate.engine.internal.Collections.LOG:Lorg/hibernate/internal/CoreMessageLogger;
3: return
LocalVariableTable:
Start End Slot Name Signature
public static void processUnreachableCollection(org.hibernate.collection.spi.PersistentCollection, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SessionImplementor;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.hibernate.collection.spi.PersistentCollection.getOwner:()Ljava/lang/Object;
ifnonnull 3
1: aload 0
aload 1
invokestatic org.hibernate.engine.internal.Collections.processNeverReferencedCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SessionImplementor;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.hibernate.engine.internal.Collections.processDereferencedCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SessionImplementor;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 coll Lorg/hibernate/collection/spi/PersistentCollection;
0 5 1 session Lorg/hibernate/engine/spi/SessionImplementor;
MethodParameters:
Name Flags
coll
session
private static void processDereferencedCollection(org.hibernate.collection.spi.PersistentCollection, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SessionImplementor;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
astore 2
start local 2 1: aload 2
aload 0
invokeinterface org.hibernate.engine.spi.PersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
astore 3
start local 3 2: aload 3
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
astore 4
start local 4 3: aload 4
ifnull 10
getstatic org.hibernate.engine.internal.Collections.LOG:Lorg/hibernate/internal/CoreMessageLogger;
invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
ifeq 10
4: getstatic org.hibernate.engine.internal.Collections.LOG:Lorg/hibernate/internal/CoreMessageLogger;
5: ldc "Collection dereferenced: %s"
6: aload 4
7: aload 0
aload 3
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedKey:()Ljava/io/Serializable;
aload 1
8: invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
9: invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
10: StackMap locals: org.hibernate.engine.spi.PersistenceContext org.hibernate.engine.spi.CollectionEntry org.hibernate.persister.collection.CollectionPersister
StackMap stack:
aload 4
ifnull 11
aload 4
invokeinterface org.hibernate.persister.collection.CollectionPersister.hasOrphanDelete:()Z
ifeq 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 5
start local 5 13: iload 5
ifeq 37
14: aload 4
invokeinterface org.hibernate.persister.collection.CollectionPersister.getOwnerEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
aload 0
invokeinterface org.hibernate.collection.spi.PersistentCollection.getOwner:()Ljava/lang/Object;
aload 1
invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifier:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/io/Serializable;
astore 6
start local 6 15: aload 6
ifnonnull 22
16: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isIdentifierRollbackEnabled:()Z
ifeq 20
17: aload 2
aload 0
invokeinterface org.hibernate.collection.spi.PersistentCollection.getOwner:()Ljava/lang/Object;
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
astore 7
start local 7 18: aload 7
ifnull 20
19: aload 7
invokeinterface org.hibernate.engine.spi.EntityEntry.getId:()Ljava/io/Serializable;
astore 6
end local 7 20: StackMap locals: int java.io.Serializable
StackMap stack:
aload 6
ifnonnull 22
21: new org.hibernate.AssertionFailure
dup
ldc "Unable to determine collection owner identifier for orphan-delete processing"
invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 1
aload 6
aload 4
invokeinterface org.hibernate.persister.collection.CollectionPersister.getOwnerEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
astore 7
start local 7 23: aload 2
aload 7
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
astore 8
start local 8 24: aload 8
ifnonnull 30
25: new org.hibernate.AssertionFailure
dup
26: new java.lang.StringBuilder
dup
ldc "collection owner not associated with session: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: aload 4
invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
28: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals: org.hibernate.engine.spi.EntityKey java.lang.Object
StackMap stack:
aload 2
aload 8
invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
astore 9
start local 9 31: aload 9
ifnull 37
aload 9
invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
getstatic org.hibernate.engine.spi.Status.DELETED:Lorg/hibernate/engine/spi/Status;
if_acmpeq 37
aload 9
invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
getstatic org.hibernate.engine.spi.Status.GONE:Lorg/hibernate/engine/spi/Status;
if_acmpeq 37
32: new org.hibernate.HibernateException
dup
33: new java.lang.StringBuilder
dup
ldc "A collection with cascade=\"all-delete-orphan\" was no longer referenced by the owning entity instance: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
34: aload 4
invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 end local 7 end local 6 37: StackMap locals:
StackMap stack:
aload 3
aconst_null
invokevirtual org.hibernate.engine.spi.CollectionEntry.setCurrentPersister:(Lorg/hibernate/persister/collection/CollectionPersister;)V
38: aload 3
aconst_null
invokevirtual org.hibernate.engine.spi.CollectionEntry.setCurrentKey:(Ljava/io/Serializable;)V
39: aload 0
aload 3
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokestatic org.hibernate.engine.internal.Collections.prepareCollectionForUpdate:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
40: return
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 41 0 coll Lorg/hibernate/collection/spi/PersistentCollection;
0 41 1 session Lorg/hibernate/engine/spi/SessionImplementor;
1 41 2 persistenceContext Lorg/hibernate/engine/spi/PersistenceContext;
2 41 3 entry Lorg/hibernate/engine/spi/CollectionEntry;
3 41 4 loadedPersister Lorg/hibernate/persister/collection/CollectionPersister;
13 41 5 hasOrphanDelete Z
15 37 6 ownerId Ljava/io/Serializable;
18 20 7 ownerEntry Lorg/hibernate/engine/spi/EntityEntry;
23 37 7 key Lorg/hibernate/engine/spi/EntityKey;
24 37 8 owner Ljava/lang/Object;
31 37 9 e Lorg/hibernate/engine/spi/EntityEntry;
MethodParameters:
Name Flags
coll
session
private static void processNeverReferencedCollection(org.hibernate.collection.spi.PersistentCollection, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SessionImplementor;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
astore 2
start local 2 1: aload 2
aload 0
invokeinterface org.hibernate.engine.spi.PersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
astore 3
start local 3 2: getstatic org.hibernate.engine.internal.Collections.LOG:Lorg/hibernate/internal/CoreMessageLogger;
invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
ifeq 11
3: getstatic org.hibernate.engine.internal.Collections.LOG:Lorg/hibernate/internal/CoreMessageLogger;
4: ldc "Found collection with unloaded owner: %s"
5: aload 3
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
6: aload 0
7: aload 3
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedKey:()Ljava/io/Serializable;
8: aload 1
9: invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
10: invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
11: StackMap locals: org.hibernate.engine.spi.PersistenceContext org.hibernate.engine.spi.CollectionEntry
StackMap stack:
aload 3
aload 3
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
invokevirtual org.hibernate.engine.spi.CollectionEntry.setCurrentPersister:(Lorg/hibernate/persister/collection/CollectionPersister;)V
12: aload 3
aload 3
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedKey:()Ljava/io/Serializable;
invokevirtual org.hibernate.engine.spi.CollectionEntry.setCurrentKey:(Ljava/io/Serializable;)V
13: aload 0
aload 3
aload 1
invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokestatic org.hibernate.engine.internal.Collections.prepareCollectionForUpdate:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 coll Lorg/hibernate/collection/spi/PersistentCollection;
0 15 1 session Lorg/hibernate/engine/spi/SessionImplementor;
1 15 2 persistenceContext Lorg/hibernate/engine/spi/PersistenceContext;
2 15 3 entry Lorg/hibernate/engine/spi/CollectionEntry;
Exceptions:
throws org.hibernate.HibernateException
MethodParameters:
Name Flags
coll
session
public static void processReachableCollection(org.hibernate.collection.spi.PersistentCollection, org.hibernate.type.CollectionType, java.lang.Object, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/type/CollectionType;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokeinterface org.hibernate.collection.spi.PersistentCollection.setOwner:(Ljava/lang/Object;)V
1: aload 3
invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 0
invokeinterface org.hibernate.engine.spi.PersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
astore 4
start local 4 2: aload 4
ifnonnull 8
3: new org.hibernate.HibernateException
dup
4: new java.lang.StringBuilder
dup
ldc "Found two representations of same collection: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 1
invokevirtual org.hibernate.type.CollectionType.getRole:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: org.hibernate.engine.spi.CollectionEntry
StackMap stack:
aload 3
invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
astore 5
start local 5 9: aload 5
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
aload 1
invokevirtual org.hibernate.type.CollectionType.getRole:()Ljava/lang/String;
invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.collectionPersister:(Ljava/lang/String;)Lorg/hibernate/persister/collection/CollectionPersister;
astore 6
start local 6 10: aload 4
aload 6
invokevirtual org.hibernate.engine.spi.CollectionEntry.setCurrentPersister:(Lorg/hibernate/persister/collection/CollectionPersister;)V
11: aload 4
aload 1
aload 2
aload 3
invokevirtual org.hibernate.type.CollectionType.getKeyOfOwner:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/io/Serializable;
invokevirtual org.hibernate.engine.spi.CollectionEntry.setCurrentKey:(Ljava/io/Serializable;)V
12: aload 6
invokeinterface org.hibernate.persister.collection.CollectionPersister.getOwnerEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
invokeinterface org.hibernate.persister.entity.EntityPersister.getInstrumentationMetadata:()Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
invokeinterface org.hibernate.bytecode.spi.BytecodeEnhancementMetadata.isEnhancedForLazyLoading:()Z
istore 7
start local 7 13: iload 7
ifeq 21
aload 0
invokeinterface org.hibernate.collection.spi.PersistentCollection.wasInitialized:()Z
ifne 21
14: getstatic org.hibernate.engine.internal.Collections.LOG:Lorg/hibernate/internal/CoreMessageLogger;
15: ldc "Skipping uninitialized bytecode-lazy collection: %s"
16: aload 6
aload 0
aload 4
invokevirtual org.hibernate.engine.spi.CollectionEntry.getCurrentKey:()Ljava/io/Serializable;
aload 3
invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
17: invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
18: aload 4
iconst_1
invokevirtual org.hibernate.engine.spi.CollectionEntry.setReached:(Z)V
19: aload 4
iconst_1
invokevirtual org.hibernate.engine.spi.CollectionEntry.setProcessed:(Z)V
20: goto 56
21: StackMap locals: org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.persister.collection.CollectionPersister int
StackMap stack:
aload 4
invokevirtual org.hibernate.engine.spi.CollectionEntry.isReached:()Z
ifeq 25
22: new org.hibernate.HibernateException
dup
23: new java.lang.StringBuilder
dup
ldc "Found shared references to a collection: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.hibernate.type.CollectionType.getRole:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 4
iconst_1
invokevirtual org.hibernate.engine.spi.CollectionEntry.setReached:(Z)V
26: getstatic org.hibernate.engine.internal.Collections.LOG:Lorg/hibernate/internal/CoreMessageLogger;
invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
ifeq 55
27: aload 0
invokeinterface org.hibernate.collection.spi.PersistentCollection.wasInitialized:()Z
ifeq 42
28: getstatic org.hibernate.engine.internal.Collections.LOG:Lorg/hibernate/internal/CoreMessageLogger;
29: ldc "Collection found: %s, was: %s (initialized)"
30: aload 6
31: aload 0
32: aload 4
invokevirtual org.hibernate.engine.spi.CollectionEntry.getCurrentKey:()Ljava/io/Serializable;
33: aload 3
34: invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
35: aload 4
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
36: aload 0
37: aload 4
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedKey:()Ljava/io/Serializable;
38: aload 3
39: invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
40: invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
41: goto 55
42: StackMap locals:
StackMap stack:
getstatic org.hibernate.engine.internal.Collections.LOG:Lorg/hibernate/internal/CoreMessageLogger;
43: ldc "Collection found: %s, was: %s (uninitialized)"
44: aload 6
45: aload 0
46: aload 4
invokevirtual org.hibernate.engine.spi.CollectionEntry.getCurrentKey:()Ljava/io/Serializable;
47: aload 3
48: invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
49: aload 4
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
50: aload 0
51: aload 4
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedKey:()Ljava/io/Serializable;
52: aload 3
53: invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
54: invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
55: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 5
invokestatic org.hibernate.engine.internal.Collections.prepareCollectionForUpdate:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
56: StackMap locals:
StackMap stack:
return
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 57 0 collection Lorg/hibernate/collection/spi/PersistentCollection;
0 57 1 type Lorg/hibernate/type/CollectionType;
0 57 2 entity Ljava/lang/Object;
0 57 3 session Lorg/hibernate/engine/spi/SessionImplementor;
2 57 4 ce Lorg/hibernate/engine/spi/CollectionEntry;
9 57 5 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
10 57 6 persister Lorg/hibernate/persister/collection/CollectionPersister;
13 57 7 isBytecodeEnhanced Z
MethodParameters:
Name Flags
collection
type
entity
session
private static void prepareCollectionForUpdate(org.hibernate.collection.spi.PersistentCollection, org.hibernate.engine.spi.CollectionEntry, org.hibernate.engine.spi.SessionFactoryImplementor);
descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.hibernate.engine.spi.CollectionEntry.isProcessed:()Z
ifeq 2
1: new org.hibernate.AssertionFailure
dup
ldc "collection was processed twice by flush()"
invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.hibernate.engine.spi.CollectionEntry.setProcessed:(Z)V
3: aload 1
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
astore 3
start local 3 4: aload 1
invokevirtual org.hibernate.engine.spi.CollectionEntry.getCurrentPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
astore 4
start local 4 5: aload 3
ifnonnull 6
aload 4
ifnull 32
6: StackMap locals: org.hibernate.persister.collection.CollectionPersister org.hibernate.persister.collection.CollectionPersister
StackMap stack:
aload 3
aload 4
if_acmpne 9
7: aload 4
invokeinterface org.hibernate.persister.collection.CollectionPersister.getKeyType:()Lorg/hibernate/type/Type;
aload 1
invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedKey:()Ljava/io/Serializable;
aload 1
invokevirtual org.hibernate.engine.spi.CollectionEntry.getCurrentKey:()Ljava/io/Serializable;
aload 2
invokeinterface org.hibernate.type.Type.isEqual:(Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Z
ifeq 9
8: iconst_0
goto 10
StackMap locals:
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: istore 5
start local 5 11: iload 5
ifeq 30
12: aload 3
ifnull 14
aload 4
ifnull 14
aload 3
invokeinterface org.hibernate.persister.collection.CollectionPersister.hasOrphanDelete:()Z
ifeq 14
13: iconst_1
goto 15
StackMap locals: int
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 6
start local 6 16: iload 6
ifeq 22
17: new org.hibernate.HibernateException
dup
18: new java.lang.StringBuilder
dup
ldc "Don't change the reference to a collection with delete-orphan enabled : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: aload 3
invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals: int
StackMap stack:
aload 4
ifnull 24
23: aload 1
iconst_1
invokevirtual org.hibernate.engine.spi.CollectionEntry.setDorecreate:(Z)V
24: StackMap locals:
StackMap stack:
aload 3
ifnull 32
25: aload 1
iconst_1
invokevirtual org.hibernate.engine.spi.CollectionEntry.setDoremove:(Z)V
26: aload 1
invokevirtual org.hibernate.engine.spi.CollectionEntry.isDorecreate:()Z
ifeq 32
27: getstatic org.hibernate.engine.internal.Collections.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Forcing collection initialization"
invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
28: aload 0
invokeinterface org.hibernate.collection.spi.PersistentCollection.forceInitialization:()V
end local 6 29: goto 32
30: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.hibernate.collection.spi.PersistentCollection.isDirty:()Z
ifeq 32
31: aload 1
iconst_1
invokevirtual org.hibernate.engine.spi.CollectionEntry.setDoupdate:(Z)V
end local 5 32: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 collection Lorg/hibernate/collection/spi/PersistentCollection;
0 33 1 entry Lorg/hibernate/engine/spi/CollectionEntry;
0 33 2 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
4 33 3 loadedPersister Lorg/hibernate/persister/collection/CollectionPersister;
5 33 4 currentPersister Lorg/hibernate/persister/collection/CollectionPersister;
11 32 5 ownerChanged Z
16 29 6 orphanDeleteAndRoleChanged Z
MethodParameters:
Name Flags
collection
entry
factory
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/Collections;
}
SourceFile: "Collections.java"