public class org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean extends org.springframework.orm.jpa.AbstractEntityManagerFactoryBean implements org.springframework.context.ResourceLoaderAware, org.springframework.context.weaving.LoadTimeWeaverAware
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
  super_class: org.springframework.orm.jpa.AbstractEntityManagerFactoryBean
{
  private org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager persistenceUnitManager;
    descriptor: Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitManager;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager internalPersistenceUnitManager;
    descriptor: Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private javax.persistence.spi.PersistenceUnitInfo persistenceUnitInfo;
    descriptor: Ljavax/persistence/spi/PersistenceUnitInfo;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
         0: .line 90
            aload 0 /* this */
            invokespecial org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.<init>:()V
         1: .line 96
            aload 0 /* this */
            new org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager
            dup
            invokespecial org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.<init>:()V
            putfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
         2: .line 90
            return
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;

  public void setPersistenceUnitManager(org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager);
    descriptor: (Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitManager;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager persistenceUnitManager
         0: .line 119
            aload 0 /* this */
            aload 1 /* persistenceUnitManager */
            putfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitManager;
         1: .line 120
            return
        end local 1 // org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager persistenceUnitManager
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    2     1  persistenceUnitManager  Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitManager;
    MethodParameters:
                        Name  Flags
      persistenceUnitManager  

  public void setPersistenceXmlLocation(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // java.lang.String persistenceXmlLocation
         0: .line 133
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* persistenceXmlLocation */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setPersistenceXmlLocation:(Ljava/lang/String;)V
         1: .line 134
            return
        end local 1 // java.lang.String persistenceXmlLocation
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    2     1  persistenceXmlLocation  Ljava/lang/String;
    MethodParameters:
                        Name  Flags
      persistenceXmlLocation  

  public void setPersistenceUnitName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // java.lang.String persistenceUnitName
         0: .line 144
            aload 0 /* this */
            aload 1 /* persistenceUnitName */
            invokespecial org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.setPersistenceUnitName:(Ljava/lang/String;)V
         1: .line 145
            aload 1 /* persistenceUnitName */
            ifnull 3
         2: .line 146
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* persistenceUnitName */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setDefaultPersistenceUnitName:(Ljava/lang/String;)V
         3: .line 148
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String persistenceUnitName
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    4     1  persistenceUnitName  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                     Name  Flags
      persistenceUnitName  

  public void setPersistenceUnitRootLocation(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // java.lang.String defaultPersistenceUnitRootLocation
         0: .line 160
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* defaultPersistenceUnitRootLocation */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setDefaultPersistenceUnitRootLocation:(Ljava/lang/String;)V
         1: .line 161
            return
        end local 1 // java.lang.String defaultPersistenceUnitRootLocation
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot                                Name  Signature
            0    2     0                                this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    2     1  defaultPersistenceUnitRootLocation  Ljava/lang/String;
    MethodParameters:
                                    Name  Flags
      defaultPersistenceUnitRootLocation  

  public void setPackagesToScan(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // java.lang.String[] packagesToScan
         0: .line 189
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* packagesToScan */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setPackagesToScan:([Ljava/lang/String;)V
         1: .line 190
            return
        end local 1 // java.lang.String[] packagesToScan
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    2     1  packagesToScan  [Ljava/lang/String;
    MethodParameters:
                Name  Flags
      packagesToScan  

  public void setMappingResources(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // java.lang.String[] mappingResources
         0: .line 215
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* mappingResources */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setMappingResources:([Ljava/lang/String;)V
         1: .line 216
            return
        end local 1 // java.lang.String[] mappingResources
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    2     1  mappingResources  [Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      mappingResources  

  public void setSharedCacheMode(javax.persistence.SharedCacheMode);
    descriptor: (Ljavax/persistence/SharedCacheMode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // javax.persistence.SharedCacheMode sharedCacheMode
         0: .line 227
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* sharedCacheMode */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setSharedCacheMode:(Ljavax/persistence/SharedCacheMode;)V
         1: .line 228
            return
        end local 1 // javax.persistence.SharedCacheMode sharedCacheMode
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    2     1  sharedCacheMode  Ljavax/persistence/SharedCacheMode;
    MethodParameters:
                 Name  Flags
      sharedCacheMode  

  public void setValidationMode(javax.persistence.ValidationMode);
    descriptor: (Ljavax/persistence/ValidationMode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // javax.persistence.ValidationMode validationMode
         0: .line 239
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* validationMode */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setValidationMode:(Ljavax/persistence/ValidationMode;)V
         1: .line 240
            return
        end local 1 // javax.persistence.ValidationMode validationMode
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    2     1  validationMode  Ljavax/persistence/ValidationMode;
    MethodParameters:
                Name  Flags
      validationMode  

  public void setDataSource(javax.sql.DataSource);
    descriptor: (Ljavax/sql/DataSource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // javax.sql.DataSource dataSource
         0: .line 257
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            new org.springframework.jdbc.datasource.lookup.SingleDataSourceLookup
            dup
            aload 1 /* dataSource */
            invokespecial org.springframework.jdbc.datasource.lookup.SingleDataSourceLookup.<init>:(Ljavax/sql/DataSource;)V
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setDataSourceLookup:(Lorg/springframework/jdbc/datasource/lookup/DataSourceLookup;)V
         1: .line 258
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* dataSource */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setDefaultDataSource:(Ljavax/sql/DataSource;)V
         2: .line 259
            return
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    3     1  dataSource  Ljavax/sql/DataSource;
    MethodParameters:
            Name  Flags
      dataSource  

  public void setJtaDataSource(javax.sql.DataSource);
    descriptor: (Ljavax/sql/DataSource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // javax.sql.DataSource jtaDataSource
         0: .line 274
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            new org.springframework.jdbc.datasource.lookup.SingleDataSourceLookup
            dup
            aload 1 /* jtaDataSource */
            invokespecial org.springframework.jdbc.datasource.lookup.SingleDataSourceLookup.<init>:(Ljavax/sql/DataSource;)V
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setDataSourceLookup:(Lorg/springframework/jdbc/datasource/lookup/DataSourceLookup;)V
         1: .line 275
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* jtaDataSource */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setDefaultJtaDataSource:(Ljavax/sql/DataSource;)V
         2: .line 276
            return
        end local 1 // javax.sql.DataSource jtaDataSource
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    3     1  jtaDataSource  Ljavax/sql/DataSource;
    MethodParameters:
               Name  Flags
      jtaDataSource  

  public void setPersistenceUnitPostProcessors(org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor[]);
    descriptor: ([Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitPostProcessor;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor[] postProcessors
         0: .line 288
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* postProcessors */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setPersistenceUnitPostProcessors:([Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitPostProcessor;)V
         1: .line 289
            return
        end local 1 // org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor[] postProcessors
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    2     1  postProcessors  [Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitPostProcessor;
    MethodParameters:
                Name  Flags
      postProcessors  

  public void setLoadTimeWeaver(org.springframework.instrument.classloading.LoadTimeWeaver);
    descriptor: (Lorg/springframework/instrument/classloading/LoadTimeWeaver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver
         0: .line 315
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* loadTimeWeaver */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setLoadTimeWeaver:(Lorg/springframework/instrument/classloading/LoadTimeWeaver;)V
         1: .line 316
            return
        end local 1 // org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    2     1  loadTimeWeaver  Lorg/springframework/instrument/classloading/LoadTimeWeaver;
    MethodParameters:
                Name  Flags
      loadTimeWeaver  

  public void setResourceLoader(org.springframework.core.io.ResourceLoader);
    descriptor: (Lorg/springframework/core/io/ResourceLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // org.springframework.core.io.ResourceLoader resourceLoader
         0: .line 320
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            aload 1 /* resourceLoader */
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.setResourceLoader:(Lorg/springframework/core/io/ResourceLoader;)V
         1: .line 321
            return
        end local 1 // org.springframework.core.io.ResourceLoader resourceLoader
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    2     1  resourceLoader  Lorg/springframework/core/io/ResourceLoader;
    MethodParameters:
                Name  Flags
      resourceLoader  

  public void afterPropertiesSet();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
         0: .line 326
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitManager;
            astore 1 /* managerToUse */
        start local 1 // org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager managerToUse
         1: .line 327
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitManager;
            ifnonnull 4
         2: .line 328
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet:()V
         3: .line 329
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            astore 1 /* managerToUse */
         4: .line 332
      StackMap locals: org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* managerToUse */
            invokevirtual org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.determinePersistenceUnitInfo:(Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitManager;)Ljavax/persistence/spi/PersistenceUnitInfo;
            putfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
         5: .line 333
            aload 0 /* this */
            invokevirtual org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.getJpaVendorAdapter:()Lorg/springframework/orm/jpa/JpaVendorAdapter;
            astore 2 /* jpaVendorAdapter */
        start local 2 // org.springframework.orm.jpa.JpaVendorAdapter jpaVendorAdapter
         6: .line 334
            aload 2 /* jpaVendorAdapter */
            ifnull 10
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            instanceof org.springframework.orm.jpa.persistenceunit.SmartPersistenceUnitInfo
            ifeq 10
         7: .line 335
            aload 2 /* jpaVendorAdapter */
            invokeinterface org.springframework.orm.jpa.JpaVendorAdapter.getPersistenceProviderRootPackage:()Ljava/lang/String;
            astore 3 /* rootPackage */
        start local 3 // java.lang.String rootPackage
         8: .line 336
            aload 3 /* rootPackage */
            ifnull 10
         9: .line 337
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            checkcast org.springframework.orm.jpa.persistenceunit.SmartPersistenceUnitInfo
            aload 3 /* rootPackage */
            invokeinterface org.springframework.orm.jpa.persistenceunit.SmartPersistenceUnitInfo.setPersistenceProviderPackageName:(Ljava/lang/String;)V
        end local 3 // java.lang.String rootPackage
        10: .line 341
      StackMap locals: org.springframework.orm.jpa.JpaVendorAdapter
      StackMap stack:
            aload 0 /* this */
            invokespecial org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet:()V
        11: .line 342
            return
        end local 2 // org.springframework.orm.jpa.JpaVendorAdapter jpaVendorAdapter
        end local 1 // org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager managerToUse
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            1   12     1      managerToUse  Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitManager;
            6   12     2  jpaVendorAdapter  Lorg/springframework/orm/jpa/JpaVendorAdapter;
            8   10     3       rootPackage  Ljava/lang/String;
    Exceptions:
      throws javax.persistence.PersistenceException

  protected javax.persistence.EntityManagerFactory createNativeEntityManagerFactory();
    descriptor: ()Ljavax/persistence/EntityManagerFactory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
         0: .line 346
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "PersistenceUnitInfo not initialized"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         3: .line 348
            aload 0 /* this */
            invokevirtual org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.getPersistenceProvider:()Ljavax/persistence/spi/PersistenceProvider;
            astore 1 /* provider */
        start local 1 // javax.persistence.spi.PersistenceProvider provider
         4: .line 349
            aload 1 /* provider */
            ifnonnull 12
         5: .line 350
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            invokeinterface javax.persistence.spi.PersistenceUnitInfo.getPersistenceProviderClassName:()Ljava/lang/String;
            astore 2 /* providerClassName */
        start local 2 // java.lang.String providerClassName
         6: .line 351
            aload 2 /* providerClassName */
            ifnonnull 10
         7: .line 352
            new java.lang.IllegalArgumentException
            dup
         8: .line 353
            ldc "No PersistenceProvider specified in EntityManagerFactory configuration, and chosen PersistenceUnitInfo does not specify a provider class name either"
         9: .line 352
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 356
      StackMap locals: javax.persistence.spi.PersistenceProvider java.lang.String
      StackMap stack:
            aload 2 /* providerClassName */
            aload 0 /* this */
            invokevirtual org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.getBeanClassLoader:()Ljava/lang/ClassLoader;
            invokestatic org.springframework.util.ClassUtils.resolveClassName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* providerClass */
        start local 3 // java.lang.Class providerClass
        11: .line 357
            aload 3 /* providerClass */
            invokestatic org.springframework.beans.BeanUtils.instantiateClass:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.persistence.spi.PersistenceProvider
            astore 1 /* provider */
        end local 3 // java.lang.Class providerClass
        end local 2 // java.lang.String providerClassName
        12: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 16
        13: .line 361
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Building JPA container EntityManagerFactory for persistence unit '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 362
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            invokeinterface javax.persistence.spi.PersistenceUnitInfo.getPersistenceUnitName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 361
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        16: .line 365
      StackMap locals:
      StackMap stack:
            aload 1 /* provider */
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            aload 0 /* this */
            invokevirtual org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.getJpaPropertyMap:()Ljava/util/Map;
            invokeinterface javax.persistence.spi.PersistenceProvider.createContainerEntityManagerFactory:(Ljavax/persistence/spi/PersistenceUnitInfo;Ljava/util/Map;)Ljavax/persistence/EntityManagerFactory;
        17: .line 364
            astore 2 /* emf */
        start local 2 // javax.persistence.EntityManagerFactory emf
        18: .line 366
            aload 0 /* this */
            aload 2 /* emf */
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            invokevirtual org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.postProcessEntityManagerFactory:(Ljavax/persistence/EntityManagerFactory;Ljavax/persistence/spi/PersistenceUnitInfo;)V
        19: .line 368
            aload 2 /* emf */
            areturn
        end local 2 // javax.persistence.EntityManagerFactory emf
        end local 1 // javax.persistence.spi.PersistenceProvider provider
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            4   20     1           provider  Ljavax/persistence/spi/PersistenceProvider;
            6   12     2  providerClassName  Ljava/lang/String;
           11   12     3      providerClass  Ljava/lang/Class<*>;
           18   20     2                emf  Ljavax/persistence/EntityManagerFactory;
    Exceptions:
      throws javax.persistence.PersistenceException

  protected javax.persistence.spi.PersistenceUnitInfo determinePersistenceUnitInfo(org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager);
    descriptor: (Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitManager;)Ljavax/persistence/spi/PersistenceUnitInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager persistenceUnitManager
         0: .line 383
            aload 0 /* this */
            invokevirtual org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.getPersistenceUnitName:()Ljava/lang/String;
            ifnull 2
         1: .line 384
            aload 1 /* persistenceUnitManager */
            aload 0 /* this */
            invokevirtual org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.getPersistenceUnitName:()Ljava/lang/String;
            invokeinterface org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager.obtainPersistenceUnitInfo:(Ljava/lang/String;)Ljavax/persistence/spi/PersistenceUnitInfo;
            areturn
         2: .line 387
      StackMap locals:
      StackMap stack:
            aload 1 /* persistenceUnitManager */
            invokeinterface org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager.obtainDefaultPersistenceUnitInfo:()Ljavax/persistence/spi/PersistenceUnitInfo;
            areturn
        end local 1 // org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager persistenceUnitManager
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    3     0                    this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    3     1  persistenceUnitManager  Lorg/springframework/orm/jpa/persistenceunit/PersistenceUnitManager;
    MethodParameters:
                        Name  Flags
      persistenceUnitManager  

  protected void postProcessEntityManagerFactory(javax.persistence.EntityManagerFactory, javax.persistence.spi.PersistenceUnitInfo);
    descriptor: (Ljavax/persistence/EntityManagerFactory;Ljavax/persistence/spi/PersistenceUnitInfo;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
        start local 1 // javax.persistence.EntityManagerFactory emf
        start local 2 // javax.persistence.spi.PersistenceUnitInfo pui
         0: .line 400
            return
        end local 2 // javax.persistence.spi.PersistenceUnitInfo pui
        end local 1 // javax.persistence.EntityManagerFactory emf
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
            0    1     1   emf  Ljavax/persistence/EntityManagerFactory;
            0    1     2   pui  Ljavax/persistence/spi/PersistenceUnitInfo;
    MethodParameters:
      Name  Flags
      emf   
      pui   

  public javax.persistence.spi.PersistenceUnitInfo getPersistenceUnitInfo();
    descriptor: ()Ljavax/persistence/spi/PersistenceUnitInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
         0: .line 406
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            areturn
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public java.lang.String getPersistenceUnitName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
         0: .line 412
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            ifnull 2
         1: .line 413
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            invokeinterface javax.persistence.spi.PersistenceUnitInfo.getPersistenceUnitName:()Ljava/lang/String;
            areturn
         2: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.getPersistenceUnitName:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public javax.sql.DataSource getDataSource();
    descriptor: ()Ljavax/sql/DataSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
         0: .line 420
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            ifnull 5
         1: .line 421
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            invokeinterface javax.persistence.spi.PersistenceUnitInfo.getJtaDataSource:()Ljavax/sql/DataSource;
            ifnull 3
         2: .line 422
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            invokeinterface javax.persistence.spi.PersistenceUnitInfo.getJtaDataSource:()Ljavax/sql/DataSource;
            goto 4
         3: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.persistenceUnitInfo:Ljavax/persistence/spi/PersistenceUnitInfo;
            invokeinterface javax.persistence.spi.PersistenceUnitInfo.getNonJtaDataSource:()Ljavax/sql/DataSource;
         4: .line 421
      StackMap locals:
      StackMap stack: javax.sql.DataSource
            areturn
         5: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.getDefaultJtaDataSource:()Ljavax/sql/DataSource;
            ifnull 7
         6: .line 426
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.getDefaultJtaDataSource:()Ljavax/sql/DataSource;
            goto 8
         7: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.internalPersistenceUnitManager:Lorg/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager;
            invokevirtual org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.getDefaultDataSource:()Ljavax/sql/DataSource;
         8: .line 425
      StackMap locals:
      StackMap stack: javax.sql.DataSource
            areturn
        end local 0 // org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean;
}
SourceFile: "LocalContainerEntityManagerFactoryBean.java"