public abstract class org.springframework.data.jpa.provider.PersistenceProvider extends java.lang.Enum<org.springframework.data.jpa.provider.PersistenceProvider> implements org.springframework.data.jpa.provider.QueryExtractor, org.springframework.data.jpa.provider.ProxyIdAccessor
minor version: 0
major version: 59
flags: flags: (0x4421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT, ACC_ANNOTATION
this_class: org.springframework.data.jpa.provider.PersistenceProvider
super_class: java.lang.Enum
{
public static final org.springframework.data.jpa.provider.PersistenceProvider HIBERNATE;
descriptor: Lorg/springframework/data/jpa/provider/PersistenceProvider;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final org.springframework.data.jpa.provider.PersistenceProvider ECLIPSELINK;
descriptor: Lorg/springframework/data/jpa/provider/PersistenceProvider;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final org.springframework.data.jpa.provider.PersistenceProvider GENERIC_JPA;
descriptor: Lorg/springframework/data/jpa/provider/PersistenceProvider;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
static org.springframework.util.ConcurrentReferenceHashMap<java.lang.Class<?>, org.springframework.data.jpa.provider.PersistenceProvider> CACHE;
descriptor: Lorg/springframework/util/ConcurrentReferenceHashMap;
flags: (0x0008) ACC_STATIC
Signature: Lorg/springframework/util/ConcurrentReferenceHashMap<Ljava/lang/Class<*>;Lorg/springframework/data/jpa/provider/PersistenceProvider;>;
private final java.lang.Iterable<java.lang.String> entityManagerClassNames;
descriptor: Ljava/lang/Iterable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Iterable<Ljava/lang/String;>;
private final java.lang.Iterable<java.lang.String> metamodelClassNames;
descriptor: Ljava/lang/Iterable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Iterable<Ljava/lang/String;>;
private static final org.springframework.data.jpa.provider.PersistenceProvider[] ENUM$VALUES;
descriptor: [Lorg/springframework/data/jpa/provider/PersistenceProvider;
flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new org.springframework.data.jpa.provider.PersistenceProvider$1
dup
ldc "HIBERNATE"
iconst_0
1: ldc "org.hibernate.jpa.HibernateEntityManager"
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
2: ldc "org.hibernate.metamodel.internal.MetamodelImpl"
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokespecial org.springframework.data.jpa.provider.PersistenceProvider$1.<init>:(Ljava/lang/String;ILjava/lang/Iterable;Ljava/lang/Iterable;)V
3: putstatic org.springframework.data.jpa.provider.PersistenceProvider.HIBERNATE:Lorg/springframework/data/jpa/provider/PersistenceProvider;
4: new org.springframework.data.jpa.provider.PersistenceProvider$2
dup
ldc "ECLIPSELINK"
iconst_1
5: ldc "org.eclipse.persistence.jpa.JpaEntityManager"
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
6: ldc "org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl"
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokespecial org.springframework.data.jpa.provider.PersistenceProvider$2.<init>:(Ljava/lang/String;ILjava/lang/Iterable;Ljava/lang/Iterable;)V
7: putstatic org.springframework.data.jpa.provider.PersistenceProvider.ECLIPSELINK:Lorg/springframework/data/jpa/provider/PersistenceProvider;
8: new org.springframework.data.jpa.provider.PersistenceProvider$3
dup
ldc "GENERIC_JPA"
iconst_2
9: ldc "javax.persistence.EntityManager"
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
invokespecial org.springframework.data.jpa.provider.PersistenceProvider$3.<init>:(Ljava/lang/String;ILjava/lang/Iterable;Ljava/lang/Iterable;)V
putstatic org.springframework.data.jpa.provider.PersistenceProvider.GENERIC_JPA:Lorg/springframework/data/jpa/provider/PersistenceProvider;
iconst_3
anewarray org.springframework.data.jpa.provider.PersistenceProvider
dup
iconst_0
getstatic org.springframework.data.jpa.provider.PersistenceProvider.HIBERNATE:Lorg/springframework/data/jpa/provider/PersistenceProvider;
aastore
dup
iconst_1
getstatic org.springframework.data.jpa.provider.PersistenceProvider.ECLIPSELINK:Lorg/springframework/data/jpa/provider/PersistenceProvider;
aastore
dup
iconst_2
getstatic org.springframework.data.jpa.provider.PersistenceProvider.GENERIC_JPA:Lorg/springframework/data/jpa/provider/PersistenceProvider;
aastore
putstatic org.springframework.data.jpa.provider.PersistenceProvider.ENUM$VALUES:[Lorg/springframework/data/jpa/provider/PersistenceProvider;
10: new org.springframework.util.ConcurrentReferenceHashMap
dup
invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:()V
putstatic org.springframework.data.jpa.provider.PersistenceProvider.CACHE:Lorg/springframework/util/ConcurrentReferenceHashMap;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.Iterable<java.lang.String>, java.lang.Iterable<java.lang.String>);
descriptor: (Ljava/lang/String;ILjava/lang/Iterable;Ljava/lang/Iterable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=5
start local 0 start local 3 start local 4 0: aload 0
aload 1
iload 2
invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
1: aload 0
aload 3
putfield org.springframework.data.jpa.provider.PersistenceProvider.entityManagerClassNames:Ljava/lang/Iterable;
2: aload 0
aload 4
putfield org.springframework.data.jpa.provider.PersistenceProvider.metamodelClassNames:Ljava/lang/Iterable;
3: return
end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/data/jpa/provider/PersistenceProvider;
0 4 3 entityManagerClassNames Ljava/lang/Iterable<Ljava/lang/String;>;
0 4 4 metamodelClassNames Ljava/lang/Iterable<Ljava/lang/String;>;
Signature: (Ljava/lang/Iterable<Ljava/lang/String;>;Ljava/lang/Iterable<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
$enum$name
$enum$ordinal
entityManagerClassNames
metamodelClassNames
private static org.springframework.data.jpa.provider.PersistenceProvider cacheAndReturn(java.lang.Class<?>, org.springframework.data.jpa.provider.PersistenceProvider);
descriptor: (Ljava/lang/Class;Lorg/springframework/data/jpa/provider/PersistenceProvider;)Lorg/springframework/data/jpa/provider/PersistenceProvider;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.springframework.data.jpa.provider.PersistenceProvider.CACHE:Lorg/springframework/util/ConcurrentReferenceHashMap;
aload 0
aload 1
invokevirtual org.springframework.util.ConcurrentReferenceHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 type Ljava/lang/Class<*>;
0 2 1 provider Lorg/springframework/data/jpa/provider/PersistenceProvider;
Signature: (Ljava/lang/Class<*>;Lorg/springframework/data/jpa/provider/PersistenceProvider;)Lorg/springframework/data/jpa/provider/PersistenceProvider;
MethodParameters:
Name Flags
type
provider
public static org.springframework.data.jpa.provider.PersistenceProvider fromEntityManager(javax.persistence.EntityManager);
descriptor: (Ljavax/persistence/EntityManager;)Lorg/springframework/data/jpa/provider/PersistenceProvider;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=9, args_size=1
start local 0 0: aload 0
ldc "EntityManager must not be null!"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokeinterface javax.persistence.EntityManager.getDelegate:()Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
start local 1 2: getstatic org.springframework.data.jpa.provider.PersistenceProvider.CACHE:Lorg/springframework/util/ConcurrentReferenceHashMap;
aload 1
invokevirtual org.springframework.util.ConcurrentReferenceHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.data.jpa.provider.PersistenceProvider
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
areturn
5: StackMap locals: java.lang.Class org.springframework.data.jpa.provider.PersistenceProvider
StackMap stack:
invokestatic org.springframework.data.jpa.provider.PersistenceProvider.values:()[Lorg/springframework/data/jpa/provider/PersistenceProvider;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 13
StackMap locals: javax.persistence.EntityManager java.lang.Class org.springframework.data.jpa.provider.PersistenceProvider top int int org.springframework.data.jpa.provider.PersistenceProvider[]
StackMap stack:
6: aload 6
iload 4
aaload
astore 3
start local 3 7: aload 3
getfield org.springframework.data.jpa.provider.PersistenceProvider.entityManagerClassNames:Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 11
StackMap locals: javax.persistence.EntityManager java.lang.Class org.springframework.data.jpa.provider.PersistenceProvider org.springframework.data.jpa.provider.PersistenceProvider int int org.springframework.data.jpa.provider.PersistenceProvider[] top java.util.Iterator
StackMap stack:
8: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 9: aload 0
aload 7
invokestatic org.springframework.data.jpa.provider.JpaClassUtils.isEntityManagerOfType:(Ljavax/persistence/EntityManager;Ljava/lang/String;)Z
ifeq 11
10: aload 1
aload 3
invokestatic org.springframework.data.jpa.provider.PersistenceProvider.cacheAndReturn:(Ljava/lang/Class;Lorg/springframework/data/jpa/provider/PersistenceProvider;)Lorg/springframework/data/jpa/provider/PersistenceProvider;
areturn
end local 7 11: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 3 12: iinc 4 1
StackMap locals: javax.persistence.EntityManager java.lang.Class org.springframework.data.jpa.provider.PersistenceProvider top int int org.springframework.data.jpa.provider.PersistenceProvider[]
StackMap stack:
13: iload 4
iload 5
if_icmplt 6
14: aload 1
getstatic org.springframework.data.jpa.provider.PersistenceProvider.GENERIC_JPA:Lorg/springframework/data/jpa/provider/PersistenceProvider;
invokestatic org.springframework.data.jpa.provider.PersistenceProvider.cacheAndReturn:(Ljava/lang/Class;Lorg/springframework/data/jpa/provider/PersistenceProvider;)Lorg/springframework/data/jpa/provider/PersistenceProvider;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 em Ljavax/persistence/EntityManager;
2 15 1 entityManagerType Ljava/lang/Class<*>;
3 15 2 cachedProvider Lorg/springframework/data/jpa/provider/PersistenceProvider;
7 12 3 provider Lorg/springframework/data/jpa/provider/PersistenceProvider;
9 11 7 entityManagerClassName Ljava/lang/String;
MethodParameters:
Name Flags
em
public static org.springframework.data.jpa.provider.PersistenceProvider fromMetamodel(javax.persistence.metamodel.Metamodel);
descriptor: (Ljavax/persistence/metamodel/Metamodel;)Lorg/springframework/data/jpa/provider/PersistenceProvider;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=9, args_size=1
start local 0 0: aload 0
ldc "Metamodel must not be null!"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
start local 1 2: getstatic org.springframework.data.jpa.provider.PersistenceProvider.CACHE:Lorg/springframework/util/ConcurrentReferenceHashMap;
aload 1
invokevirtual org.springframework.util.ConcurrentReferenceHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.data.jpa.provider.PersistenceProvider
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
areturn
5: StackMap locals: java.lang.Class org.springframework.data.jpa.provider.PersistenceProvider
StackMap stack:
invokestatic org.springframework.data.jpa.provider.PersistenceProvider.values:()[Lorg/springframework/data/jpa/provider/PersistenceProvider;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 13
StackMap locals: javax.persistence.metamodel.Metamodel java.lang.Class org.springframework.data.jpa.provider.PersistenceProvider top int int org.springframework.data.jpa.provider.PersistenceProvider[]
StackMap stack:
6: aload 6
iload 4
aaload
astore 3
start local 3 7: aload 3
getfield org.springframework.data.jpa.provider.PersistenceProvider.metamodelClassNames:Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 11
StackMap locals: javax.persistence.metamodel.Metamodel java.lang.Class org.springframework.data.jpa.provider.PersistenceProvider org.springframework.data.jpa.provider.PersistenceProvider int int org.springframework.data.jpa.provider.PersistenceProvider[] top java.util.Iterator
StackMap stack:
8: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 9: aload 0
aload 7
invokestatic org.springframework.data.jpa.provider.JpaClassUtils.isMetamodelOfType:(Ljavax/persistence/metamodel/Metamodel;Ljava/lang/String;)Z
ifeq 11
10: aload 1
aload 3
invokestatic org.springframework.data.jpa.provider.PersistenceProvider.cacheAndReturn:(Ljava/lang/Class;Lorg/springframework/data/jpa/provider/PersistenceProvider;)Lorg/springframework/data/jpa/provider/PersistenceProvider;
areturn
end local 7 11: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 3 12: iinc 4 1
StackMap locals: javax.persistence.metamodel.Metamodel java.lang.Class org.springframework.data.jpa.provider.PersistenceProvider top int int org.springframework.data.jpa.provider.PersistenceProvider[]
StackMap stack:
13: iload 4
iload 5
if_icmplt 6
14: aload 1
getstatic org.springframework.data.jpa.provider.PersistenceProvider.GENERIC_JPA:Lorg/springframework/data/jpa/provider/PersistenceProvider;
invokestatic org.springframework.data.jpa.provider.PersistenceProvider.cacheAndReturn:(Ljava/lang/Class;Lorg/springframework/data/jpa/provider/PersistenceProvider;)Lorg/springframework/data/jpa/provider/PersistenceProvider;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 metamodel Ljavax/persistence/metamodel/Metamodel;
2 15 1 metamodelType Ljava/lang/Class<+Ljavax/persistence/metamodel/Metamodel;>;
3 15 2 cachedProvider Lorg/springframework/data/jpa/provider/PersistenceProvider;
7 12 3 provider Lorg/springframework/data/jpa/provider/PersistenceProvider;
9 11 7 metamodelClassName Ljava/lang/String;
MethodParameters:
Name Flags
metamodel
public java.lang.String getCountQueryPlaceholder();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "x"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/data/jpa/provider/PersistenceProvider;
public boolean ();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/data/jpa/provider/PersistenceProvider;
public org.springframework.data.util.CloseableIterator<java.lang.Object> executeQueryWithResultStream(javax.persistence.Query);
descriptor: (Ljavax/persistence/Query;)Lorg/springframework/data/util/CloseableIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
1: new java.lang.StringBuilder
dup
ldc "Streaming results is not implement for this PersistenceProvider: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.springframework.data.jpa.provider.PersistenceProvider.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/data/jpa/provider/PersistenceProvider;
0 3 1 jpaQuery Ljavax/persistence/Query;
Signature: (Ljavax/persistence/Query;)Lorg/springframework/data/util/CloseableIterator<Ljava/lang/Object;>;
MethodParameters:
Name Flags
jpaQuery
public static org.springframework.data.jpa.provider.PersistenceProvider[] values();
descriptor: ()[Lorg/springframework/data/jpa/provider/PersistenceProvider;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: getstatic org.springframework.data.jpa.provider.PersistenceProvider.ENUM$VALUES:[Lorg/springframework/data/jpa/provider/PersistenceProvider;
dup
astore 0
iconst_0
aload 0
arraylength
dup
istore 1
anewarray org.springframework.data.jpa.provider.PersistenceProvider
dup
astore 2
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
aload 2
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.springframework.data.jpa.provider.PersistenceProvider valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/data/jpa/provider/PersistenceProvider;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
0: ldc Lorg/springframework/data/jpa/provider/PersistenceProvider;
aload 0
invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
checkcast org.springframework.data.jpa.provider.PersistenceProvider
areturn
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
name
}
Signature: Ljava/lang/Enum<Lorg/springframework/data/jpa/provider/PersistenceProvider;>;Lorg/springframework/data/jpa/provider/QueryExtractor;Lorg/springframework/data/jpa/provider/ProxyIdAccessor;
SourceFile: "PersistenceProvider.java"
NestMembers:
org.springframework.data.jpa.provider.PersistenceProvider$1 org.springframework.data.jpa.provider.PersistenceProvider$2 org.springframework.data.jpa.provider.PersistenceProvider$3 org.springframework.data.jpa.provider.PersistenceProvider$Constants org.springframework.data.jpa.provider.PersistenceProvider$EclipseLinkScrollableResultsIterator org.springframework.data.jpa.provider.PersistenceProvider$HibernateScrollableResultsIterator
InnerClasses:
org.springframework.data.jpa.provider.PersistenceProvider$1
org.springframework.data.jpa.provider.PersistenceProvider$2
org.springframework.data.jpa.provider.PersistenceProvider$3
abstract Constants = org.springframework.data.jpa.provider.PersistenceProvider$Constants of org.springframework.data.jpa.provider.PersistenceProvider
private EclipseLinkScrollableResultsIterator = org.springframework.data.jpa.provider.PersistenceProvider$EclipseLinkScrollableResultsIterator of org.springframework.data.jpa.provider.PersistenceProvider
private HibernateScrollableResultsIterator = org.springframework.data.jpa.provider.PersistenceProvider$HibernateScrollableResultsIterator of org.springframework.data.jpa.provider.PersistenceProvider