public class org.hibernate.cfg.annotations.ResultsetMappingSecondPass implements org.hibernate.cfg.QuerySecondPass
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.cfg.annotations.ResultsetMappingSecondPass
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
private final javax.persistence.SqlResultSetMapping ann;
descriptor: Ljavax/persistence/SqlResultSetMapping;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.boot.spi.MetadataBuildingContext context;
descriptor: Lorg/hibernate/boot/spi/MetadataBuildingContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isDefault;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/hibernate/cfg/annotations/ResultsetMappingSecondPass;
invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
putstatic org.hibernate.cfg.annotations.ResultsetMappingSecondPass.LOG:Lorg/hibernate/internal/CoreMessageLogger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(javax.persistence.SqlResultSetMapping, org.hibernate.boot.spi.MetadataBuildingContext, boolean);
descriptor: (Ljavax/persistence/SqlResultSetMapping;Lorg/hibernate/boot/spi/MetadataBuildingContext;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.ann:Ljavax/persistence/SqlResultSetMapping;
2: aload 0
aload 2
putfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
3: aload 0
iload 3
putfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.isDefault:Z
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/cfg/annotations/ResultsetMappingSecondPass;
0 5 1 ann Ljavax/persistence/SqlResultSetMapping;
0 5 2 context Lorg/hibernate/boot/spi/MetadataBuildingContext;
0 5 3 isDefault Z
MethodParameters:
Name Flags
ann
context
isDefault
public void doSecondPass(java.util.Map);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=24, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.ann:Ljavax/persistence/SqlResultSetMapping;
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
new org.hibernate.engine.ResultSetMappingDefinition
dup
aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.ann:Ljavax/persistence/SqlResultSetMapping;
invokeinterface javax.persistence.SqlResultSetMapping.name:()Ljava/lang/String;
invokespecial org.hibernate.engine.ResultSetMappingDefinition.<init>:(Ljava/lang/String;)V
astore 2
start local 2 2: getstatic org.hibernate.cfg.annotations.ResultsetMappingSecondPass.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Binding result set mapping: %s"
aload 2
invokevirtual org.hibernate.engine.ResultSetMappingDefinition.getName:()Ljava/lang/String;
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
3: iconst_0
istore 3
start local 3 4: aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.ann:Ljavax/persistence/SqlResultSetMapping;
invokeinterface javax.persistence.SqlResultSetMapping.entities:()[Ljavax/persistence/EntityResult;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 88
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int top int int javax.persistence.EntityResult[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 8: aload 4
invokeinterface javax.persistence.EntityResult.fields:()[Ljavax/persistence/FieldResult;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 41
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List top int int javax.persistence.FieldResult[]
StackMap stack:
9: aload 13
iload 11
aaload
astore 10
start local 10 10: aload 10
invokeinterface javax.persistence.FieldResult.name:()Ljava/lang/String;
astore 14
start local 14 11: aload 14
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 15
12: aload 8
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: aload 9
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: goto 40
15: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List javax.persistence.FieldResult int int javax.persistence.FieldResult[] java.lang.String
StackMap stack:
aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
16: aload 4
invokeinterface javax.persistence.EntityResult.entityClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
17: invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getEntityBinding:(Ljava/lang/String;)Lorg/hibernate/mapping/PersistentClass;
astore 15
start local 15 18: aload 15
ifnonnull 26
19: new org.hibernate.MappingException
dup
20: getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
21: ldc "Could not resolve entity [%s] referenced in SqlResultSetMapping [%s]"
iconst_2
anewarray java.lang.Object
dup
iconst_0
22: aload 4
invokeinterface javax.persistence.EntityResult.entityClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
23: aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.ann:Ljavax/persistence/SqlResultSetMapping;
invokeinterface javax.persistence.SqlResultSetMapping.name:()Ljava/lang/String;
aastore
24: invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
25: invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals: org.hibernate.mapping.PersistentClass
StackMap stack:
aload 14
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 16
start local 16 27: aload 14
iconst_0
iload 16
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 17
start local 17 28: aload 0
aload 15
aload 17
invokevirtual org.hibernate.cfg.annotations.ResultsetMappingSecondPass.getSubPropertyIterator:(Lorg/hibernate/mapping/PersistentClass;Ljava/lang/String;)Ljava/util/Iterator;
astore 18
start local 18 29: aload 0
aload 18
aload 17
aload 14
invokevirtual org.hibernate.cfg.annotations.ResultsetMappingSecondPass.getFollowers:(Ljava/util/Iterator;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
astore 19
start local 19 30: aload 9
invokeinterface java.util.List.size:()I
istore 20
start local 20 31: aload 19
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 22
goto 37
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List javax.persistence.FieldResult int int javax.persistence.FieldResult[] java.lang.String org.hibernate.mapping.PersistentClass int java.lang.String java.util.Iterator java.util.List int top java.util.Iterator
StackMap stack:
32: aload 22
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 21
start local 21 33: aload 9
aload 21
invokestatic org.hibernate.cfg.annotations.ResultsetMappingSecondPass.getIndexOfFirstMatchingProperty:(Ljava/util/List;Ljava/lang/String;)I
istore 23
start local 23 34: iload 23
iconst_m1
if_icmpeq 35
iload 23
iload 20
if_icmpge 35
iload 23
goto 36
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List javax.persistence.FieldResult int int javax.persistence.FieldResult[] java.lang.String org.hibernate.mapping.PersistentClass int java.lang.String java.util.Iterator java.util.List int java.lang.String java.util.Iterator int
StackMap stack:
35: iload 20
StackMap locals:
StackMap stack: int
36: istore 20
end local 23 end local 21 37: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List javax.persistence.FieldResult int int javax.persistence.FieldResult[] java.lang.String org.hibernate.mapping.PersistentClass int java.lang.String java.util.Iterator java.util.List int top java.util.Iterator
StackMap stack:
aload 22
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
38: aload 9
iload 20
aload 14
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
39: aload 8
iload 20
aload 10
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 10 40: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List top int int javax.persistence.FieldResult[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
41: iload 11
iload 12
if_icmplt 9
42: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 10
start local 10 43: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 11
start local 11 44: aload 8
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 66
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List java.util.Set java.util.Map top java.util.Iterator
StackMap stack:
45: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 12
start local 12 46: aload 12
checkcast javax.persistence.FieldResult
astore 14
start local 14 47: aload 14
invokeinterface javax.persistence.FieldResult.name:()Ljava/lang/String;
astore 15
start local 15 48: ldc "class"
aload 15
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 52
49: new org.hibernate.MappingException
dup
50: ldc "class is not a valid property name to use in a @FieldResult, use @Entity(discriminatorColumn) instead"
51: invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
athrow
52: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List java.util.Set java.util.Map java.lang.Object java.util.Iterator javax.persistence.FieldResult java.lang.String
StackMap stack:
aload 10
aload 15
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 58
53: new org.hibernate.MappingException
dup
54: new java.lang.StringBuilder
dup
ldc "duplicate @FieldResult for property "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
55: ldc " on @Entity "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokeinterface javax.persistence.EntityResult.entityClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.ann:Ljavax/persistence/SqlResultSetMapping;
invokeinterface javax.persistence.SqlResultSetMapping.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
56: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
57: invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
athrow
58: StackMap locals:
StackMap stack:
aload 10
aload 15
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
59: aload 0
aload 14
invokeinterface javax.persistence.FieldResult.column:()Ljava/lang/String;
invokevirtual org.hibernate.cfg.annotations.ResultsetMappingSecondPass.normalizeColumnQuoting:(Ljava/lang/String;)Ljava/lang/String;
astore 16
start local 16 60: aload 15
invokestatic org.hibernate.internal.util.StringHelper.root:(Ljava/lang/String;)Ljava/lang/String;
astore 17
start local 17 61: aload 11
aload 17
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 18
start local 18 62: aload 18
ifnonnull 65
63: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 18
64: aload 11
aload 17
aload 18
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
65: StackMap locals: java.lang.String java.lang.String java.util.ArrayList
StackMap stack:
aload 18
aload 16
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 18 end local 17 end local 16 end local 15 end local 14 end local 12 66: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List java.util.Set java.util.Map top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 45
67: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 12
start local 12 68: aload 11
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
goto 74
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List java.util.Set java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
69: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 13
start local 13 70: aload 12
71: aload 13
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
72: aload 13
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.ArrayList
aload 13
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.ArrayList
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
73: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 13 74: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 69
75: aload 4
invokeinterface javax.persistence.EntityResult.discriminatorColumn:()Ljava/lang/String;
invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
ifne 78
76: aload 0
aload 4
invokeinterface javax.persistence.EntityResult.discriminatorColumn:()Ljava/lang/String;
invokevirtual org.hibernate.cfg.annotations.ResultsetMappingSecondPass.normalizeColumnQuoting:(Ljava/lang/String;)Ljava/lang/String;
astore 13
start local 13 77: aload 12
ldc "class"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 13
aastore
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 13 78: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.EntityResult int int javax.persistence.EntityResult[] java.util.List java.util.List java.util.Set java.util.Map java.util.Map
StackMap stack:
aload 12
invokeinterface java.util.Map.isEmpty:()Z
ifeq 80
79: invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
astore 12
80: StackMap locals:
StackMap stack:
new org.hibernate.engine.query.spi.sql.NativeSQLQueryRootReturn
dup
81: new java.lang.StringBuilder
dup
ldc "alias"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
iinc 3 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
82: aload 4
invokeinterface javax.persistence.EntityResult.entityClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
83: aload 12
84: getstatic org.hibernate.LockMode.READ:Lorg/hibernate/LockMode;
85: invokespecial org.hibernate.engine.query.spi.sql.NativeSQLQueryRootReturn.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/hibernate/LockMode;)V
astore 13
start local 13 86: aload 2
aload 13
invokevirtual org.hibernate.engine.ResultSetMappingDefinition.addQueryReturn:(Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;)V
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 4 87: iinc 5 1
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int top int int javax.persistence.EntityResult[]
StackMap stack:
88: iload 5
iload 6
if_icmplt 5
89: aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.ann:Ljavax/persistence/SqlResultSetMapping;
invokeinterface javax.persistence.SqlResultSetMapping.columns:()[Ljavax/persistence/ColumnResult;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 99
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int top int int javax.persistence.ColumnResult[]
StackMap stack:
90: aload 7
iload 5
aaload
astore 4
start local 4 91: aload 2
92: new org.hibernate.engine.query.spi.sql.NativeSQLQueryScalarReturn
dup
93: aload 0
aload 4
invokeinterface javax.persistence.ColumnResult.name:()Ljava/lang/String;
invokevirtual org.hibernate.cfg.annotations.ResultsetMappingSecondPass.normalizeColumnQuoting:(Ljava/lang/String;)Ljava/lang/String;
94: aload 4
invokeinterface javax.persistence.ColumnResult.type:()Ljava/lang/Class;
ifnull 95
aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getTypeResolver:()Lorg/hibernate/type/TypeResolver;
aload 4
invokeinterface javax.persistence.ColumnResult.type:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual org.hibernate.type.TypeResolver.heuristicType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
goto 96
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.ColumnResult int int javax.persistence.ColumnResult[]
StackMap stack: org.hibernate.engine.ResultSetMappingDefinition new 92 new 92 java.lang.String
95: aconst_null
96: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.ColumnResult int int javax.persistence.ColumnResult[]
StackMap stack: org.hibernate.engine.ResultSetMappingDefinition new 92 new 92 java.lang.String org.hibernate.type.Type
invokespecial org.hibernate.engine.query.spi.sql.NativeSQLQueryScalarReturn.<init>:(Ljava/lang/String;Lorg/hibernate/type/Type;)V
97: invokevirtual org.hibernate.engine.ResultSetMappingDefinition.addQueryReturn:(Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;)V
end local 4 98: iinc 5 1
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int top int int javax.persistence.ColumnResult[]
StackMap stack:
99: iload 5
iload 6
if_icmplt 90
100: aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.ann:Ljavax/persistence/SqlResultSetMapping;
invokeinterface javax.persistence.SqlResultSetMapping.classes:()[Ljavax/persistence/ConstructorResult;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 118
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int top int int javax.persistence.ConstructorResult[]
StackMap stack:
101: aload 7
iload 5
aaload
astore 4
start local 4 102: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 103: aload 4
invokeinterface javax.persistence.ConstructorResult.columns:()[Ljavax/persistence/ColumnResult;
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 113
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.ConstructorResult int int javax.persistence.ConstructorResult[] java.util.List top int int javax.persistence.ColumnResult[]
StackMap stack:
104: aload 12
iload 10
aaload
astore 9
start local 9 105: aload 8
106: new org.hibernate.engine.query.spi.sql.NativeSQLQueryScalarReturn
dup
107: aload 0
aload 9
invokeinterface javax.persistence.ColumnResult.name:()Ljava/lang/String;
invokevirtual org.hibernate.cfg.annotations.ResultsetMappingSecondPass.normalizeColumnQuoting:(Ljava/lang/String;)Ljava/lang/String;
108: aload 9
invokeinterface javax.persistence.ColumnResult.type:()Ljava/lang/Class;
ifnull 109
aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getTypeResolver:()Lorg/hibernate/type/TypeResolver;
aload 9
invokeinterface javax.persistence.ColumnResult.type:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual org.hibernate.type.TypeResolver.heuristicType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
goto 110
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.ConstructorResult int int javax.persistence.ConstructorResult[] java.util.List javax.persistence.ColumnResult int int javax.persistence.ColumnResult[]
StackMap stack: java.util.List new 106 new 106 java.lang.String
109: aconst_null
110: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.ConstructorResult int int javax.persistence.ConstructorResult[] java.util.List javax.persistence.ColumnResult int int javax.persistence.ColumnResult[]
StackMap stack: java.util.List new 106 new 106 java.lang.String org.hibernate.type.Type
invokespecial org.hibernate.engine.query.spi.sql.NativeSQLQueryScalarReturn.<init>:(Ljava/lang/String;Lorg/hibernate/type/Type;)V
111: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 112: iinc 10 1
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int javax.persistence.ConstructorResult int int javax.persistence.ConstructorResult[] java.util.List top int int javax.persistence.ColumnResult[]
StackMap stack:
113: iload 10
iload 11
if_icmplt 104
114: aload 2
115: new org.hibernate.engine.query.spi.sql.NativeSQLQueryConstructorReturn
dup
aload 4
invokeinterface javax.persistence.ConstructorResult.targetClass:()Ljava/lang/Class;
aload 8
invokespecial org.hibernate.engine.query.spi.sql.NativeSQLQueryConstructorReturn.<init>:(Ljava/lang/Class;Ljava/util/List;)V
116: invokevirtual org.hibernate.engine.ResultSetMappingDefinition.addQueryReturn:(Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;)V
end local 8 end local 4 117: iinc 5 1
StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int top int int javax.persistence.ConstructorResult[]
StackMap stack:
118: iload 5
iload 6
if_icmplt 101
119: aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.isDefault:Z
ifeq 122
120: aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
aload 2
invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addDefaultResultSetMapping:(Lorg/hibernate/engine/ResultSetMappingDefinition;)V
121: goto 123
122: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass java.util.Map org.hibernate.engine.ResultSetMappingDefinition int
StackMap stack:
aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
aload 2
invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addResultSetMapping:(Lorg/hibernate/engine/ResultSetMappingDefinition;)V
123: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 124 0 this Lorg/hibernate/cfg/annotations/ResultsetMappingSecondPass;
0 124 1 persistentClasses Ljava/util/Map;
2 124 2 definition Lorg/hibernate/engine/ResultSetMappingDefinition;
4 124 3 entityAliasIndex I
6 87 4 entity Ljavax/persistence/EntityResult;
7 87 8 properties Ljava/util/List<Ljavax/persistence/FieldResult;>;
8 87 9 propertyNames Ljava/util/List<Ljava/lang/String;>;
10 40 10 field Ljavax/persistence/FieldResult;
11 40 14 name Ljava/lang/String;
18 40 15 pc Lorg/hibernate/mapping/PersistentClass;
27 40 16 dotIndex I
28 40 17 reducedName Ljava/lang/String;
29 40 18 parentPropItr Ljava/util/Iterator;
30 40 19 followers Ljava/util/List<Ljava/lang/String;>;
31 40 20 index I
33 37 21 follower Ljava/lang/String;
34 37 23 currentIndex I
43 87 10 uniqueReturnProperty Ljava/util/Set<Ljava/lang/String;>;
44 87 11 propertyResultsTmp Ljava/util/Map<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;
46 66 12 property Ljava/lang/Object;
47 66 14 propertyresult Ljavax/persistence/FieldResult;
48 66 15 name Ljava/lang/String;
60 66 16 quotingNormalizedColumnName Ljava/lang/String;
61 66 17 key Ljava/lang/String;
62 66 18 intermediateResults Ljava/util/ArrayList<Ljava/lang/String;>;
68 87 12 propertyResults Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;
70 74 13 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;
77 78 13 quotingNormalizedName Ljava/lang/String;
86 87 13 result Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryRootReturn;
91 98 4 column Ljavax/persistence/ColumnResult;
102 117 4 constructorResult Ljavax/persistence/ConstructorResult;
103 117 8 columnReturns Ljava/util/List<Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryScalarReturn;>;
105 112 9 columnResult Ljavax/persistence/ColumnResult;
Exceptions:
throws org.hibernate.MappingException
MethodParameters:
Name Flags
persistentClasses
private java.lang.String normalizeColumnQuoting(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
aload 1
invokevirtual org.hibernate.boot.model.relational.Database.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
invokevirtual org.hibernate.boot.model.naming.Identifier.render:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/cfg/annotations/ResultsetMappingSecondPass;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private java.util.List<java.lang.String> getFollowers(java.util.Iterator, java.lang.String, java.lang.String);
descriptor: (Ljava/util/Iterator;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 2: goto 9
3: StackMap locals: int java.util.List
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.mapping.Property
invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
astore 6
start local 6 4: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 5: iload 4
ifeq 7
6: aload 5
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 3
aload 7
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: iconst_1
istore 4
end local 7 end local 6 9: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: aload 5
areturn
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 11 0 this Lorg/hibernate/cfg/annotations/ResultsetMappingSecondPass;
0 11 1 parentPropIter Ljava/util/Iterator;
0 11 2 reducedName Ljava/lang/String;
0 11 3 name Ljava/lang/String;
1 11 4 hasFollowers Z
2 11 5 followers Ljava/util/List<Ljava/lang/String;>;
4 9 6 currentPropertyName Ljava/lang/String;
5 9 7 currentName Ljava/lang/String;
Signature: (Ljava/util/Iterator;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
parentPropIter
reducedName
name
private java.util.Iterator getSubPropertyIterator(org.hibernate.mapping.PersistentClass, java.lang.String);
descriptor: (Lorg/hibernate/mapping/PersistentClass;Ljava/lang/String;)Ljava/util/Iterator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual org.hibernate.mapping.PersistentClass.getRecursiveProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
astore 3
start local 3 1: aload 3
instanceof org.hibernate.mapping.Component
ifeq 5
2: aload 3
checkcast org.hibernate.mapping.Component
astore 5
start local 5 3: aload 5
invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
astore 4
end local 5 start local 4 4: goto 35
end local 4 5: StackMap locals: org.hibernate.mapping.Value
StackMap stack:
aload 3
instanceof org.hibernate.mapping.ToOne
ifeq 34
6: aload 3
checkcast org.hibernate.mapping.ToOne
astore 5
start local 5 7: aload 0
getfield org.hibernate.cfg.annotations.ResultsetMappingSecondPass.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
aload 5
invokevirtual org.hibernate.mapping.ToOne.getReferencedEntityName:()Ljava/lang/String;
invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getEntityBinding:(Ljava/lang/String;)Lorg/hibernate/mapping/PersistentClass;
astore 6
start local 6 8: aload 5
invokevirtual org.hibernate.mapping.ToOne.getReferencedPropertyName:()Ljava/lang/String;
ifnull 21
9: aload 6
10: aload 5
invokevirtual org.hibernate.mapping.ToOne.getReferencedPropertyName:()Ljava/lang/String;
11: invokevirtual org.hibernate.mapping.PersistentClass.getRecursiveProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
12: invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
13: checkcast org.hibernate.mapping.Component
14: invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
15: astore 4
start local 4 16: goto 35
end local 4 17: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass org.hibernate.mapping.PersistentClass java.lang.String org.hibernate.mapping.Value top org.hibernate.mapping.ToOne org.hibernate.mapping.PersistentClass
StackMap stack: java.lang.ClassCastException
astore 7
start local 7 18: new org.hibernate.MappingException
dup
19: ldc "dotted notation reference neither a component nor a many/one to one"
aload 7
20: invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 21: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
ifnonnull 28
22: aload 6
invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierProperty:()Lorg/hibernate/mapping/Property;
23: invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
24: checkcast org.hibernate.mapping.Component
25: invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
26: astore 4
start local 4 27: goto 35
end local 4 28: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
astore 4
start local 4 29: goto 35
end local 4 30: StackMap locals:
StackMap stack: java.lang.ClassCastException
astore 7
start local 7 31: new org.hibernate.MappingException
dup
32: ldc "dotted notation reference neither a component nor a many/one to one"
aload 7
33: invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 end local 5 34: StackMap locals: org.hibernate.cfg.annotations.ResultsetMappingSecondPass org.hibernate.mapping.PersistentClass java.lang.String org.hibernate.mapping.Value
StackMap stack:
new org.hibernate.MappingException
dup
ldc "dotted notation reference neither a component nor a many/one to one"
invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
athrow
start local 4 35: StackMap locals: java.util.Iterator
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/hibernate/cfg/annotations/ResultsetMappingSecondPass;
0 36 1 pc Lorg/hibernate/mapping/PersistentClass;
0 36 2 reducedName Ljava/lang/String;
1 36 3 value Lorg/hibernate/mapping/Value;
4 5 4 parentPropIter Ljava/util/Iterator;
16 17 4 parentPropIter Ljava/util/Iterator;
27 28 4 parentPropIter Ljava/util/Iterator;
29 30 4 parentPropIter Ljava/util/Iterator;
35 36 4 parentPropIter Ljava/util/Iterator;
3 4 5 comp Lorg/hibernate/mapping/Component;
7 34 5 toOne Lorg/hibernate/mapping/ToOne;
8 34 6 referencedPc Lorg/hibernate/mapping/PersistentClass;
18 21 7 e Ljava/lang/ClassCastException;
31 34 7 e Ljava/lang/ClassCastException;
Exception table:
from to target type
9 16 17 Class java.lang.ClassCastException
21 29 30 Class java.lang.ClassCastException
MethodParameters:
Name Flags
pc
reducedName
private static int getIndexOfFirstMatchingProperty(java.util.List, java.lang.String);
descriptor: (Ljava/util/List;Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.size:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
aload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
4: iload 3
ireturn
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 2
if_icmplt 3
end local 3 7: iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 propertyNames Ljava/util/List;
0 8 1 follower Ljava/lang/String;
1 8 2 propertySize I
2 7 3 propIndex I
MethodParameters:
Name Flags
propertyNames
follower
}
SourceFile: "ResultsetMappingSecondPass.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map