public class org.hibernate.loader.collection.BasicCollectionJoinWalker extends org.hibernate.loader.collection.CollectionJoinWalker
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.loader.collection.BasicCollectionJoinWalker
super_class: org.hibernate.loader.collection.CollectionJoinWalker
{
private final org.hibernate.persister.collection.QueryableCollection collectionPersister;
descriptor: Lorg/hibernate/persister/collection/QueryableCollection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.hibernate.persister.collection.QueryableCollection, int, java.lang.String, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.engine.spi.LoadQueryInfluencers);
descriptor: (Lorg/hibernate/persister/collection/QueryableCollection;ILjava/lang/String;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 4
aload 5
invokespecial org.hibernate.loader.collection.CollectionJoinWalker.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
1: aload 0
aload 1
putfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
2: aload 0
aload 1
invokeinterface org.hibernate.persister.collection.QueryableCollection.getRole:()Ljava/lang/String;
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.generateRootAlias:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 3: aload 0
aload 1
aload 6
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.walkCollectionTree:(Lorg/hibernate/persister/collection/QueryableCollection;Ljava/lang/String;)V
4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 5: aload 7
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.associations:Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
6: aload 7
aload 1
invokeinterface org.hibernate.persister.collection.QueryableCollection.getCollectionType:()Lorg/hibernate/type/CollectionType;
aload 6
aload 0
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokestatic org.hibernate.loader.OuterJoinableAssociation.createRoot:(Lorg/hibernate/type/AssociationType;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/loader/OuterJoinableAssociation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: aload 0
aload 7
getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.initPersisters:(Ljava/util/List;Lorg/hibernate/LockMode;)V
8: aload 0
aload 6
iload 2
aload 3
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.initStatementString:(Ljava/lang/String;ILjava/lang/String;)V
9: 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 10 0 this Lorg/hibernate/loader/collection/BasicCollectionJoinWalker;
0 10 1 collectionPersister Lorg/hibernate/persister/collection/QueryableCollection;
0 10 2 batchSize I
0 10 3 subquery Ljava/lang/String;
0 10 4 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
0 10 5 loadQueryInfluencers Lorg/hibernate/engine/spi/LoadQueryInfluencers;
3 10 6 alias Ljava/lang/String;
5 10 7 allAssociations Ljava/util/List;
Exceptions:
throws org.hibernate.MappingException
MethodParameters:
Name Flags
collectionPersister
batchSize
subquery
factory
loadQueryInfluencers
private void initStatementString(java.lang.String, int, java.lang.String);
descriptor: (Ljava/lang/String;ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.associations:Ljava/util/List;
invokestatic org.hibernate.loader.collection.BasicCollectionJoinWalker.countEntityPersisters:(Ljava/util/List;)I
istore 4
start local 4 1: aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.associations:Ljava/util/List;
invokestatic org.hibernate.loader.collection.BasicCollectionJoinWalker.countCollectionPersisters:(Ljava/util/List;)I
iconst_1
iadd
istore 5
start local 5 2: aload 0
iload 4
invokestatic org.hibernate.loader.BasicLoader.generateSuffixes:(I)[Ljava/lang/String;
putfield org.hibernate.loader.collection.BasicCollectionJoinWalker.suffixes:[Ljava/lang/String;
3: aload 0
iload 4
iload 5
invokestatic org.hibernate.loader.BasicLoader.generateSuffixes:(II)[Ljava/lang/String;
putfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionSuffixes:[Ljava/lang/String;
4: aload 0
5: aload 1
6: aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
invokeinterface org.hibernate.persister.collection.QueryableCollection.getKeyColumnNames:()[Ljava/lang/String;
7: aload 3
8: iload 2
9: invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.whereString:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/StringBuilder;
astore 6
start local 6 10: ldc ""
astore 7
start local 7 11: aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
aload 1
aload 0
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getEnabledFilters:()Ljava/util/Map;
invokeinterface org.hibernate.persister.collection.QueryableCollection.filterFragment:(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
astore 8
start local 8 12: aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
invokeinterface org.hibernate.persister.collection.QueryableCollection.isManyToMany:()Z
ifeq 24
13: aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.associations:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
start local 9 14: aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
invokeinterface org.hibernate.persister.collection.QueryableCollection.getElementType:()Lorg/hibernate/type/Type;
checkcast org.hibernate.type.AssociationType
astore 10
start local 10 15: goto 23
16: StackMap locals: org.hibernate.loader.collection.BasicCollectionJoinWalker java.lang.String int java.lang.String int int java.lang.StringBuilder java.lang.String java.lang.String java.util.Iterator org.hibernate.type.AssociationType
StackMap stack:
aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.loader.OuterJoinableAssociation
astore 11
start local 11 17: aload 11
invokevirtual org.hibernate.loader.OuterJoinableAssociation.getJoinableType:()Lorg/hibernate/type/AssociationType;
aload 10
if_acmpne 23
18: new java.lang.StringBuilder
dup
aload 8
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
19: aload 11
invokevirtual org.hibernate.loader.OuterJoinableAssociation.getRHSAlias:()Ljava/lang/String;
20: aload 0
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getEnabledFilters:()Ljava/util/Map;
21: invokeinterface org.hibernate.persister.collection.QueryableCollection.getManyToManyFilterFragment:(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
22: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
aload 11
invokevirtual org.hibernate.loader.OuterJoinableAssociation.getRHSAlias:()Ljava/lang/String;
invokeinterface org.hibernate.persister.collection.QueryableCollection.getManyToManyOrderByString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
end local 11 23: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
end local 10 end local 9 24: StackMap locals:
StackMap stack:
aload 6
iconst_0
aload 8
invokestatic org.hibernate.internal.util.StringHelper.moveAndToBeginning:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
25: aload 0
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.associations:Ljava/util/List;
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.mergeOuterJoins:(Ljava/util/List;)Lorg/hibernate/sql/JoinFragment;
astore 9
start local 9 26: new org.hibernate.sql.Select
dup
aload 0
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.getDialect:()Lorg/hibernate/dialect/Dialect;
invokespecial org.hibernate.sql.Select.<init>:(Lorg/hibernate/dialect/Dialect;)V
27: new java.lang.StringBuilder
dup
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
aload 1
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionSuffixes:[Ljava/lang/String;
iconst_0
aaload
invokeinterface org.hibernate.persister.collection.QueryableCollection.selectFragment:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
28: aload 0
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.associations:Ljava/util/List;
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.selectString:(Ljava/util/List;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
29: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokevirtual org.hibernate.sql.Select.setSelectClause:(Ljava/lang/String;)Lorg/hibernate/sql/Select;
31: aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
invokeinterface org.hibernate.persister.collection.QueryableCollection.getTableName:()Ljava/lang/String;
aload 1
invokevirtual org.hibernate.sql.Select.setFromClause:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/Select;
32: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.hibernate.sql.Select.setWhereClause:(Ljava/lang/String;)Lorg/hibernate/sql/Select;
33: aload 9
invokevirtual org.hibernate.sql.JoinFragment.toFromFragmentString:()Ljava/lang/String;
34: aload 9
invokevirtual org.hibernate.sql.JoinFragment.toWhereFragmentString:()Ljava/lang/String;
35: invokevirtual org.hibernate.sql.Select.setOuterJoins:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/Select;
36: astore 10
start local 10 37: aload 10
aload 0
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.associations:Ljava/util/List;
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
aload 1
invokeinterface org.hibernate.persister.collection.QueryableCollection.getSQLOrderByString:(Ljava/lang/String;)Ljava/lang/String;
aload 7
invokestatic org.hibernate.loader.collection.BasicCollectionJoinWalker.mergeOrderings:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.orderBy:(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.hibernate.sql.Select.setOrderByClause:(Ljava/lang/String;)Lorg/hibernate/sql/Select;
pop
38: aload 0
invokevirtual org.hibernate.loader.collection.BasicCollectionJoinWalker.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
invokevirtual org.hibernate.cfg.Settings.isCommentsEnabled:()Z
ifeq 40
39: aload 10
new java.lang.StringBuilder
dup
ldc "load collection "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
invokeinterface org.hibernate.persister.collection.QueryableCollection.getRole:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.hibernate.sql.Select.setComment:(Ljava/lang/String;)Lorg/hibernate/sql/Select;
pop
40: StackMap locals: org.hibernate.sql.JoinFragment org.hibernate.sql.Select
StackMap stack:
aload 0
aload 10
invokevirtual org.hibernate.sql.Select.toStatementString:()Ljava/lang/String;
putfield org.hibernate.loader.collection.BasicCollectionJoinWalker.sql:Ljava/lang/String;
41: return
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 42 0 this Lorg/hibernate/loader/collection/BasicCollectionJoinWalker;
0 42 1 alias Ljava/lang/String;
0 42 2 batchSize I
0 42 3 subquery Ljava/lang/String;
1 42 4 joins I
2 42 5 collectionJoins I
10 42 6 whereString Ljava/lang/StringBuilder;
11 42 7 manyToManyOrderBy Ljava/lang/String;
12 42 8 filter Ljava/lang/String;
14 24 9 itr Ljava/util/Iterator;
15 24 10 associationType Lorg/hibernate/type/AssociationType;
17 23 11 oja Lorg/hibernate/loader/OuterJoinableAssociation;
26 42 9 ojf Lorg/hibernate/sql/JoinFragment;
37 42 10 select Lorg/hibernate/sql/Select;
Exceptions:
throws org.hibernate.MappingException
MethodParameters:
Name Flags
alias final
batchSize final
subquery final
protected org.hibernate.sql.JoinType getJoinType(org.hibernate.persister.entity.OuterJoinLoadable, org.hibernate.loader.PropertyPath, int, org.hibernate.type.AssociationType, org.hibernate.FetchMode, org.hibernate.engine.spi.CascadeStyle, java.lang.String, java.lang.String[], boolean, int);
descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/loader/PropertyPath;ILorg/hibernate/type/AssociationType;Lorg/hibernate/FetchMode;Lorg/hibernate/engine/spi/CascadeStyle;Ljava/lang/String;[Ljava/lang/String;ZI)Lorg/hibernate/sql/JoinType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=11, locals=12, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
1: aload 1
2: aload 2
3: iload 3
4: aload 4
5: aload 5
6: aload 6
7: aload 7
8: aload 8
9: iload 9
10: iload 10
11: invokespecial org.hibernate.loader.collection.CollectionJoinWalker.getJoinType:(Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/loader/PropertyPath;ILorg/hibernate/type/AssociationType;Lorg/hibernate/FetchMode;Lorg/hibernate/engine/spi/CascadeStyle;Ljava/lang/String;[Ljava/lang/String;ZI)Lorg/hibernate/sql/JoinType;
astore 11
start local 11 12: aload 11
getstatic org.hibernate.sql.JoinType.LEFT_OUTER_JOIN:Lorg/hibernate/sql/JoinType;
if_acmpne 14
aload 2
invokevirtual org.hibernate.loader.PropertyPath.isRoot:()Z
ifeq 14
13: getstatic org.hibernate.sql.JoinType.INNER_JOIN:Lorg/hibernate/sql/JoinType;
astore 11
14: StackMap locals: org.hibernate.sql.JoinType
StackMap stack:
aload 11
areturn
end local 11 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 15 0 this Lorg/hibernate/loader/collection/BasicCollectionJoinWalker;
0 15 1 persister Lorg/hibernate/persister/entity/OuterJoinLoadable;
0 15 2 path Lorg/hibernate/loader/PropertyPath;
0 15 3 propertyNumber I
0 15 4 associationType Lorg/hibernate/type/AssociationType;
0 15 5 metadataFetchMode Lorg/hibernate/FetchMode;
0 15 6 metadataCascadeStyle Lorg/hibernate/engine/spi/CascadeStyle;
0 15 7 lhsTable Ljava/lang/String;
0 15 8 lhsColumns [Ljava/lang/String;
0 15 9 nullable Z
0 15 10 currentDepth I
12 15 11 joinType Lorg/hibernate/sql/JoinType;
Exceptions:
throws org.hibernate.MappingException
MethodParameters:
Name Flags
persister
path
propertyNumber
associationType
metadataFetchMode
metadataCascadeStyle
lhsTable
lhsColumns
nullable
currentDepth
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield org.hibernate.loader.collection.BasicCollectionJoinWalker.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
invokeinterface org.hibernate.persister.collection.QueryableCollection.getRole:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/loader/collection/BasicCollectionJoinWalker;
}
SourceFile: "BasicCollectionJoinWalker.java"