public abstract class org.hibernate.internal.AbstractSharedSessionContract implements org.hibernate.engine.spi.SharedSessionContractImplementor
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.internal.AbstractSharedSessionContract
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.EntityManagerMessageLogger log;
    descriptor: Lorg/hibernate/internal/EntityManagerMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private transient org.hibernate.internal.SessionFactoryImpl factory;
    descriptor: Lorg/hibernate/internal/SessionFactoryImpl;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final java.lang.String tenantIdentifier;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.UUID sessionIdentifier;
    descriptor: Ljava/util/UUID;
    flags: (0x0002) ACC_PRIVATE

  private transient org.hibernate.engine.jdbc.connections.spi.JdbcConnectionAccess jdbcConnectionAccess;
    descriptor: Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient org.hibernate.resource.jdbc.spi.JdbcSessionContext jdbcSessionContext;
    descriptor: Lorg/hibernate/resource/jdbc/spi/JdbcSessionContext;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient org.hibernate.engine.jdbc.spi.JdbcCoordinator jdbcCoordinator;
    descriptor: Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient org.hibernate.engine.transaction.spi.TransactionImplementor currentHibernateTransaction;
    descriptor: Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient org.hibernate.resource.transaction.spi.TransactionCoordinator transactionCoordinator;
    descriptor: Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient org.hibernate.cache.spi.CacheTransactionSynchronization cacheTransactionSync;
    descriptor: Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final boolean isTransactionCoordinatorShared;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.Interceptor interceptor;
    descriptor: Lorg/hibernate/Interceptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.TimeZone jdbcTimeZone;
    descriptor: Ljava/util/TimeZone;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.hibernate.FlushMode flushMode;
    descriptor: Lorg/hibernate/FlushMode;
    flags: (0x0002) ACC_PRIVATE

  private boolean autoJoinTransactions;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.CacheMode cacheMode;
    descriptor: Lorg/hibernate/CacheMode;
    flags: (0x0002) ACC_PRIVATE

  protected boolean closed;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean waitingForAutoClose;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  private transient org.hibernate.engine.internal.SessionEventListenerManagerImpl sessionEventsManager;
    descriptor: Lorg/hibernate/engine/internal/SessionEventListenerManagerImpl;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient org.hibernate.EntityNameResolver entityNameResolver;
    descriptor: Lorg/hibernate/EntityNameResolver;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.Boolean useStreamForLobBinding;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private java.lang.Integer jdbcBatchSize;
    descriptor: Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE

  protected transient org.hibernate.engine.spi.ExceptionConverter exceptionConverter;
    descriptor: Lorg/hibernate/engine/spi/ExceptionConverter;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 105
            ldc Lorg/hibernate/internal/SessionImpl;
            invokestatic org.hibernate.internal.HEMLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/EntityManagerMessageLogger;
            putstatic org.hibernate.internal.AbstractSharedSessionContract.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.internal.SessionFactoryImpl, org.hibernate.internal.SessionCreationOptions);
    descriptor: (Lorg/hibernate/internal/SessionFactoryImpl;Lorg/hibernate/internal/SessionCreationOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.internal.SessionFactoryImpl factory
        start local 2 // org.hibernate.internal.SessionCreationOptions options
         0: .line 141
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 133
            aload 0 /* this */
            new org.hibernate.engine.internal.SessionEventListenerManagerImpl
            dup
            invokespecial org.hibernate.engine.internal.SessionEventListenerManagerImpl.<init>:()V
            putfield org.hibernate.internal.AbstractSharedSessionContract.sessionEventsManager:Lorg/hibernate/engine/internal/SessionEventListenerManagerImpl;
         2: .line 142
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
         3: .line 143
            aload 0 /* this */
            aload 1 /* factory */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getCache:()Lorg/hibernate/cache/spi/CacheImplementor;
            invokeinterface org.hibernate.cache.spi.CacheImplementor.getRegionFactory:()Lorg/hibernate/cache/spi/RegionFactory;
            aload 0 /* this */
            invokeinterface org.hibernate.cache.spi.RegionFactory.createTransactionContext:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
            putfield org.hibernate.internal.AbstractSharedSessionContract.cacheTransactionSync:Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
         4: .line 145
            aload 0 /* this */
            aload 2 /* options */
            invokeinterface org.hibernate.internal.SessionCreationOptions.getInitialSessionFlushMode:()Lorg/hibernate/FlushMode;
            putfield org.hibernate.internal.AbstractSharedSessionContract.flushMode:Lorg/hibernate/FlushMode;
         5: .line 147
            aload 0 /* this */
            aload 2 /* options */
            invokeinterface org.hibernate.internal.SessionCreationOptions.getTenantIdentifier:()Ljava/lang/String;
            putfield org.hibernate.internal.AbstractSharedSessionContract.tenantIdentifier:Ljava/lang/String;
         6: .line 148
            getstatic org.hibernate.MultiTenancyStrategy.NONE:Lorg/hibernate/MultiTenancyStrategy;
            aload 1 /* factory */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getMultiTenancyStrategy:()Lorg/hibernate/MultiTenancyStrategy;
            if_acmpne 9
         7: .line 149
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.tenantIdentifier:Ljava/lang/String;
            ifnull 11
         8: .line 150
            new org.hibernate.HibernateException
            dup
            ldc "SessionFactory was not configured for multi-tenancy"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 154
      StackMap locals: org.hibernate.internal.AbstractSharedSessionContract org.hibernate.internal.SessionFactoryImpl org.hibernate.internal.SessionCreationOptions
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.tenantIdentifier:Ljava/lang/String;
            ifnonnull 11
        10: .line 155
            new org.hibernate.HibernateException
            dup
            ldc "SessionFactory configured for multi-tenancy, but no tenant identifier specified"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* options */
            invokeinterface org.hibernate.internal.SessionCreationOptions.getInterceptor:()Lorg/hibernate/Interceptor;
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.interpret:(Lorg/hibernate/Interceptor;)Lorg/hibernate/Interceptor;
            putfield org.hibernate.internal.AbstractSharedSessionContract.interceptor:Lorg/hibernate/Interceptor;
        12: .line 160
            aload 0 /* this */
            aload 2 /* options */
            invokeinterface org.hibernate.internal.SessionCreationOptions.getJdbcTimeZone:()Ljava/util/TimeZone;
            putfield org.hibernate.internal.AbstractSharedSessionContract.jdbcTimeZone:Ljava/util/TimeZone;
        13: .line 162
            aload 0 /* this */
            aload 2 /* options */
            invokeinterface org.hibernate.internal.SessionCreationOptions.getStatementInspector:()Lorg/hibernate/resource/jdbc/spi/StatementInspector;
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.interpret:(Lorg/hibernate/resource/jdbc/spi/StatementInspector;)Lorg/hibernate/resource/jdbc/spi/StatementInspector;
            astore 3 /* statementInspector */
        start local 3 // org.hibernate.resource.jdbc.spi.StatementInspector statementInspector
        14: .line 163
            aload 0 /* this */
            new org.hibernate.internal.JdbcSessionContextImpl
            dup
            aload 0 /* this */
            aload 3 /* statementInspector */
            invokespecial org.hibernate.internal.JdbcSessionContextImpl.<init>:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/resource/jdbc/spi/StatementInspector;)V
            putfield org.hibernate.internal.AbstractSharedSessionContract.jdbcSessionContext:Lorg/hibernate/resource/jdbc/spi/JdbcSessionContext;
        15: .line 165
            aload 0 /* this */
            new org.hibernate.internal.CoordinatingEntityNameResolver
            dup
            aload 1 /* factory */
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.interceptor:Lorg/hibernate/Interceptor;
            invokespecial org.hibernate.internal.CoordinatingEntityNameResolver.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/Interceptor;)V
            putfield org.hibernate.internal.AbstractSharedSessionContract.entityNameResolver:Lorg/hibernate/EntityNameResolver;
        16: .line 167
            aload 2 /* options */
            instanceof org.hibernate.internal.SharedSessionCreationOptions
            ifeq 35
            aload 2 /* options */
            checkcast org.hibernate.internal.SharedSessionCreationOptions
            invokeinterface org.hibernate.internal.SharedSessionCreationOptions.isTransactionCoordinatorShared:()Z
            ifeq 35
        17: .line 168
            aload 2 /* options */
            invokeinterface org.hibernate.internal.SessionCreationOptions.getConnection:()Ljava/sql/Connection;
            ifnull 19
        18: .line 169
            new org.hibernate.SessionException
            dup
            ldc "Cannot simultaneously share transaction context and specify connection"
            invokespecial org.hibernate.SessionException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 172
      StackMap locals: org.hibernate.resource.jdbc.spi.StatementInspector
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.internal.AbstractSharedSessionContract.isTransactionCoordinatorShared:Z
        20: .line 174
            aload 2 /* options */
            checkcast org.hibernate.internal.SharedSessionCreationOptions
            astore 4 /* sharedOptions */
        start local 4 // org.hibernate.internal.SharedSessionCreationOptions sharedOptions
        21: .line 175
            aload 0 /* this */
            aload 4 /* sharedOptions */
            invokeinterface org.hibernate.internal.SharedSessionCreationOptions.getTransactionCoordinator:()Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            putfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
        22: .line 176
            aload 0 /* this */
            aload 4 /* sharedOptions */
            invokeinterface org.hibernate.internal.SharedSessionCreationOptions.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            putfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        23: .line 179
            aload 0 /* this */
            aload 4 /* sharedOptions */
            invokeinterface org.hibernate.internal.SharedSessionCreationOptions.getTransaction:()Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
            putfield org.hibernate.internal.AbstractSharedSessionContract.currentHibernateTransaction:Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
        24: .line 181
            aload 4 /* sharedOptions */
            invokeinterface org.hibernate.internal.SharedSessionCreationOptions.shouldAutoJoinTransactions:()Z
            ifeq 29
        25: .line 182
            getstatic org.hibernate.internal.AbstractSharedSessionContract.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
        26: .line 183
            ldc "Session creation specified 'autoJoinTransactions', which is invalid in conjunction with sharing JDBC connection between sessions; ignoring"
        27: .line 182
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.debug:(Ljava/lang/Object;)V
        28: .line 186
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.internal.AbstractSharedSessionContract.autoJoinTransactions:Z
        29: .line 188
      StackMap locals: org.hibernate.internal.SharedSessionCreationOptions
      StackMap stack:
            aload 4 /* sharedOptions */
            invokeinterface org.hibernate.internal.SharedSessionCreationOptions.getPhysicalConnectionHandlingMode:()Lorg/hibernate/resource/jdbc/spi/PhysicalConnectionHandlingMode;
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getLogicalConnection:()Lorg/hibernate/resource/jdbc/spi/LogicalConnectionImplementor;
            invokeinterface org.hibernate.resource.jdbc.spi.LogicalConnectionImplementor.getConnectionHandlingMode:()Lorg/hibernate/resource/jdbc/spi/PhysicalConnectionHandlingMode;
            if_acmpeq 33
        30: .line 189
            getstatic org.hibernate.internal.AbstractSharedSessionContract.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
        31: .line 190
            ldc "Session creation specified 'PhysicalConnectionHandlingMode which is invalid in conjunction with sharing JDBC connection between sessions; ignoring"
        32: .line 189
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.debug:(Ljava/lang/Object;)V
        33: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.addSharedSessionTransactionObserver:(Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;)V
        end local 4 // org.hibernate.internal.SharedSessionCreationOptions sharedOptions
        34: .line 196
            goto 42
        35: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.internal.AbstractSharedSessionContract.isTransactionCoordinatorShared:Z
        36: .line 199
            aload 0 /* this */
            aload 2 /* options */
            invokeinterface org.hibernate.internal.SessionCreationOptions.shouldAutoJoinTransactions:()Z
            putfield org.hibernate.internal.AbstractSharedSessionContract.autoJoinTransactions:Z
        37: .line 201
            aload 0 /* this */
            new org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl
            dup
            aload 2 /* options */
            invokeinterface org.hibernate.internal.SessionCreationOptions.getConnection:()Ljava/sql/Connection;
            aload 0 /* this */
            invokespecial org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.<init>:(Ljava/sql/Connection;Lorg/hibernate/resource/jdbc/spi/JdbcSessionOwner;)V
            putfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        38: .line 202
            aload 0 /* this */
            aload 1 /* factory */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
        39: .line 203
            ldc Lorg/hibernate/resource/transaction/spi/TransactionCoordinatorBuilder;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder
        40: .line 204
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 0 /* this */
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder.buildTransactionCoordinator:(Lorg/hibernate/resource/transaction/spi/TransactionCoordinatorOwner;Lorg/hibernate/resource/transaction/spi/TransactionCoordinatorBuilder$Options;)Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
        41: .line 202
            putfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
        42: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.hibernate.internal.ExceptionConverterImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.ExceptionConverterImpl.<init>:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
            putfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
        43: .line 207
            return
        end local 3 // org.hibernate.resource.jdbc.spi.StatementInspector statementInspector
        end local 2 // org.hibernate.internal.SessionCreationOptions options
        end local 1 // org.hibernate.internal.SessionFactoryImpl factory
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   44     0                this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   44     1             factory  Lorg/hibernate/internal/SessionFactoryImpl;
            0   44     2             options  Lorg/hibernate/internal/SessionCreationOptions;
           14   44     3  statementInspector  Lorg/hibernate/resource/jdbc/spi/StatementInspector;
           21   34     4       sharedOptions  Lorg/hibernate/internal/SharedSessionCreationOptions;
    MethodParameters:
         Name  Flags
      factory  
      options  

  protected void addSharedSessionTransactionObserver(org.hibernate.resource.transaction.spi.TransactionCoordinator);
    descriptor: (Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.resource.transaction.spi.TransactionCoordinator transactionCoordinator
         0: .line 210
            return
        end local 1 // org.hibernate.resource.transaction.spi.TransactionCoordinator transactionCoordinator
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1  transactionCoordinator  Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
    MethodParameters:
                        Name  Flags
      transactionCoordinator  

  protected void removeSharedSessionTransactionObserver(org.hibernate.resource.transaction.spi.TransactionCoordinator);
    descriptor: (Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.resource.transaction.spi.TransactionCoordinator transactionCoordinator
         0: .line 213
            aload 1 /* transactionCoordinator */
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinator.invalidate:()V
         1: .line 214
            return
        end local 1 // org.hibernate.resource.transaction.spi.TransactionCoordinator transactionCoordinator
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    2     1  transactionCoordinator  Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
    MethodParameters:
                        Name  Flags
      transactionCoordinator  

  public boolean shouldAutoJoinTransaction();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 218
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.autoJoinTransactions:Z
            ireturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  private org.hibernate.Interceptor interpret(org.hibernate.Interceptor);
    descriptor: (Lorg/hibernate/Interceptor;)Lorg/hibernate/Interceptor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.Interceptor interceptor
         0: .line 222
            aload 1 /* interceptor */
            ifnonnull 1
            getstatic org.hibernate.EmptyInterceptor.INSTANCE:Lorg/hibernate/Interceptor;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* interceptor */
      StackMap locals:
      StackMap stack: org.hibernate.Interceptor
         2: areturn
        end local 1 // org.hibernate.Interceptor interceptor
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    3     1  interceptor  Lorg/hibernate/Interceptor;
    MethodParameters:
             Name  Flags
      interceptor  

  private org.hibernate.resource.jdbc.spi.StatementInspector interpret(org.hibernate.resource.jdbc.spi.StatementInspector);
    descriptor: (Lorg/hibernate/resource/jdbc/spi/StatementInspector;)Lorg/hibernate/resource/jdbc/spi/StatementInspector;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.resource.jdbc.spi.StatementInspector statementInspector
         0: .line 226
            aload 1 /* statementInspector */
            ifnonnull 2
         1: .line 229
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.interceptor:Lorg/hibernate/Interceptor;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic inspect(Lorg/hibernate/Interceptor;)Lorg/hibernate/resource/jdbc/spi/StatementInspector;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/String;)Ljava/lang/String;
                  org/hibernate/Interceptor.onPrepareStatement(Ljava/lang/String;)Ljava/lang/String; (9 itf)
                  (Ljava/lang/String;)Ljava/lang/String;
                  1
            areturn
         2: .line 231
      StackMap locals:
      StackMap stack:
            aload 1 /* statementInspector */
            areturn
        end local 1 // org.hibernate.resource.jdbc.spi.StatementInspector statementInspector
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    3     1  statementInspector  Lorg/hibernate/resource/jdbc/spi/StatementInspector;
    MethodParameters:
                    Name  Flags
      statementInspector  

  public org.hibernate.engine.spi.SessionFactoryImplementor getFactory();
    descriptor: ()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 236
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.Interceptor getInterceptor();
    descriptor: ()Lorg/hibernate/Interceptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 241
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.interceptor:Lorg/hibernate/Interceptor;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.engine.jdbc.spi.JdbcCoordinator getJdbcCoordinator();
    descriptor: ()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 246
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.resource.transaction.spi.TransactionCoordinator getTransactionCoordinator();
    descriptor: ()Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 251
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.resource.jdbc.spi.JdbcSessionContext getJdbcSessionContext();
    descriptor: ()Lorg/hibernate/resource/jdbc/spi/JdbcSessionContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 256
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcSessionContext:Lorg/hibernate/resource/jdbc/spi/JdbcSessionContext;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.EntityNameResolver getEntityNameResolver();
    descriptor: ()Lorg/hibernate/EntityNameResolver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 260
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.entityNameResolver:Lorg/hibernate/EntityNameResolver;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.engine.spi.SessionEventListenerManager getEventListenerManager();
    descriptor: ()Lorg/hibernate/engine/spi/SessionEventListenerManager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 265
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.sessionEventsManager:Lorg/hibernate/engine/internal/SessionEventListenerManagerImpl;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public java.util.UUID getSessionIdentifier();
    descriptor: ()Ljava/util/UUID;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 270
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.sessionIdentifier:Ljava/util/UUID;
            ifnonnull 2
         1: .line 272
            aload 0 /* this */
            getstatic org.hibernate.id.uuid.StandardRandomStrategy.INSTANCE:Lorg/hibernate/id/uuid/StandardRandomStrategy;
            aconst_null
            invokevirtual org.hibernate.id.uuid.StandardRandomStrategy.generateUUID:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/util/UUID;
            putfield org.hibernate.internal.AbstractSharedSessionContract.sessionIdentifier:Ljava/util/UUID;
         2: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.sessionIdentifier:Ljava/util/UUID;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public java.lang.String getTenantIdentifier();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 279
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.tenantIdentifier:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 284
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.isClosed:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public boolean isClosed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 289
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.closed:Z
            ifne 1
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.isClosed:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 294
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.closed:Z
            ifeq 2
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.waitingForAutoClose:Z
            ifne 2
         1: .line 295
            return
         2: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.delayedAfterCompletion:()V
         3: .line 300
            goto 8
         4: .line 301
      StackMap locals:
      StackMap stack: org.hibernate.HibernateException
            astore 1 /* e */
        start local 1 // org.hibernate.HibernateException e
         5: .line 302
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isJpaBootstrap:()Z
            ifeq 7
         6: .line 303
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
            aload 1 /* e */
            invokeinterface org.hibernate.engine.spi.ExceptionConverter.convert:(Lorg/hibernate/HibernateException;)Ljava/lang/RuntimeException;
            athrow
         7: .line 306
      StackMap locals: org.hibernate.HibernateException
      StackMap stack:
            aload 1 /* e */
            athrow
        end local 1 // org.hibernate.HibernateException e
         8: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.sessionEventsManager:Lorg/hibernate/engine/internal/SessionEventListenerManagerImpl;
            ifnull 10
         9: .line 311
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.sessionEventsManager:Lorg/hibernate/engine/internal/SessionEventListenerManagerImpl;
            invokevirtual org.hibernate.engine.internal.SessionEventListenerManagerImpl.end:()V
        10: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.currentHibernateTransaction:Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
            ifnull 12
        11: .line 315
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.currentHibernateTransaction:Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionImplementor.invalidate:()V
        12: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            ifnull 14
        13: .line 319
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.removeSharedSessionTransactionObserver:(Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;)V
        14: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.isTransactionCoordinatorShared:Z
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.shouldCloseJdbcCoordinatorOnClose:(Z)Z
            ifeq 20
        15: .line 324
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.close:()Ljava/sql/Connection;
            pop
        16: .line 326
            goto 20
        17: .line 327
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1
        18: .line 328
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.setClosed:()V
        19: .line 329
            aload 1
            athrow
        20: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.setClosed:()V
        21: .line 330
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            5    8     1     e  Lorg/hibernate/HibernateException;
      Exception table:
        from    to  target  type
           2     3       4  Class org.hibernate.HibernateException
          14    17      17  any

  protected void setClosed();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 333
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.internal.AbstractSharedSessionContract.closed:Z
         1: .line 334
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.internal.AbstractSharedSessionContract.waitingForAutoClose:Z
         2: .line 335
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.cleanupOnClose:()V
         3: .line 336
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  protected boolean shouldCloseJdbcCoordinatorOnClose(boolean);
    descriptor: (Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // boolean isTransactionCoordinatorShared
         0: .line 339
            iconst_1
            ireturn
        end local 1 // boolean isTransactionCoordinatorShared
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0    1     0                            this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1  isTransactionCoordinatorShared  Z
    MethodParameters:
                                Name  Flags
      isTransactionCoordinatorShared  

  protected void cleanupOnClose();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 344
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public boolean isOpenOrWaitingForAutoClose();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 348
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.isClosed:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.waitingForAutoClose:Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public void checkOpen(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // boolean markForRollbackIfClosed
         0: .line 353
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.isClosed:()Z
            ifeq 4
         1: .line 354
            iload 1 /* markForRollbackIfClosed */
            ifeq 3
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinator.isTransactionActive:()Z
            ifeq 3
         2: .line 355
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.markForRollbackOnly:()V
         3: .line 357
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Session/EntityManager is closed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 359
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean markForRollbackIfClosed
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    5     0                     this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    5     1  markForRollbackIfClosed  Z
    MethodParameters:
                         Name  Flags
      markForRollbackIfClosed  

  protected void checkOpenOrWaitingForAutoClose();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 362
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.waitingForAutoClose:Z
            ifne 2
         1: .line 363
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         2: .line 365
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  protected void errorIfClosed();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 372
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 373
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void markForRollbackOnly();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 378
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.accessTransaction:()Lorg/hibernate/Transaction;
            invokeinterface org.hibernate.Transaction.markRollbackOnly:()V
         1: .line 379
            goto 3
         2: .line 380
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         3: .line 382
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception

  public boolean isTransactionInProgress();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 386
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.waitingForAutoClose:Z
            ifeq 3
         1: .line 387
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.isOpen:()Z
            ifeq 2
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinator.isTransactionActive:()Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.isClosed:()Z
            ifne 4
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinator.isTransactionActive:()Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.Transaction getTransaction();
    descriptor: ()Lorg/hibernate/Transaction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 394
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getJpaCompliance:()Lorg/hibernate/jpa/spi/JpaCompliance;
            invokeinterface org.hibernate.jpa.spi.JpaCompliance.isJpaTransactionComplianceEnabled:()Z
            ifeq 4
         1: .line 397
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getTransactionCoordinator:()Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinator.getTransactionCoordinatorBuilder:()Lorg/hibernate/resource/transaction/spi/TransactionCoordinatorBuilder;
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder.isJta:()Z
            ifeq 4
         2: .line 398
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isJtaTransactionAccessEnabled:()Z
            ifne 4
         3: .line 399
            new java.lang.IllegalStateException
            dup
            ldc "A JTA EntityManager cannot use getTransaction()"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.accessTransaction:()Lorg/hibernate/Transaction;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
    Exceptions:
      throws org.hibernate.HibernateException

  public org.hibernate.Transaction accessTransaction();
    descriptor: ()Lorg/hibernate/Transaction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 409
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.currentHibernateTransaction:Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
            ifnonnull 6
         1: .line 410
            aload 0 /* this */
            new org.hibernate.engine.transaction.internal.TransactionImpl
            dup
         2: .line 411
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getTransactionCoordinator:()Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
         3: .line 412
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getExceptionConverter:()Lorg/hibernate/engine/spi/ExceptionConverter;
         4: .line 413
            aload 0 /* this */
            invokespecial org.hibernate.engine.transaction.internal.TransactionImpl.<init>:(Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;Lorg/hibernate/engine/spi/ExceptionConverter;Lorg/hibernate/internal/AbstractSharedSessionContract;)V
         5: .line 410
            putfield org.hibernate.internal.AbstractSharedSessionContract.currentHibernateTransaction:Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
         6: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.isClosed:()Z
            ifeq 7
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.waitingForAutoClose:Z
            ifeq 8
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.isOpen:()Z
            ifeq 8
         7: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getTransactionCoordinator:()Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinator.pulse:()V
         8: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.currentHibernateTransaction:Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public void startTransactionBoundary();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 424
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getCacheTransactionSynchronization:()Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
            invokeinterface org.hibernate.cache.spi.CacheTransactionSynchronization.transactionJoined:()V
         1: .line 425
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public void beforeTransactionCompletion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 429
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getCacheTransactionSynchronization:()Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
            invokeinterface org.hibernate.cache.spi.CacheTransactionSynchronization.transactionCompleting:()V
         1: .line 430
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public void afterTransactionCompletion(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // boolean successful
        start local 2 // boolean delayed
         0: .line 434
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getCacheTransactionSynchronization:()Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
            iload 1 /* successful */
            invokeinterface org.hibernate.cache.spi.CacheTransactionSynchronization.transactionCompleted:(Z)V
         1: .line 435
            return
        end local 2 // boolean delayed
        end local 1 // boolean successful
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    2     1  successful  Z
            0    2     2     delayed  Z
    MethodParameters:
            Name  Flags
      successful  
      delayed     

  public org.hibernate.cache.spi.CacheTransactionSynchronization getCacheTransactionSynchronization();
    descriptor: ()Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 439
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.cacheTransactionSync:Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public long getTransactionStartTimestamp();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 444
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getCacheTransactionSynchronization:()Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
            invokeinterface org.hibernate.cache.spi.CacheTransactionSynchronization.getCurrentTransactionStartTimestamp:()J
            lreturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.Transaction beginTransaction();
    descriptor: ()Lorg/hibernate/Transaction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 449
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 451
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getTransaction:()Lorg/hibernate/Transaction;
            astore 1 /* result */
        start local 1 // org.hibernate.Transaction result
         2: .line 452
            aload 1 /* result */
            invokeinterface org.hibernate.Transaction.begin:()V
         3: .line 454
            aload 1 /* result */
            areturn
        end local 1 // org.hibernate.Transaction result
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            2    4     1  result  Lorg/hibernate/Transaction;

  protected void checkTransactionSynchStatus();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 458
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.pulseTransactionCoordinator:()V
         1: .line 459
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.delayedAfterCompletion:()V
         2: .line 460
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  protected void pulseTransactionCoordinator();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 463
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.isClosed:()Z
            ifne 2
         1: .line 464
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinator.pulse:()V
         2: .line 466
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  protected void delayedAfterCompletion();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 469
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            instanceof org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl
            ifeq 3
         1: .line 470
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            checkcast org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl
            invokevirtual org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.getSynchronizationCallbackCoordinator:()Lorg/hibernate/resource/transaction/backend/jta/internal/synchronization/SynchronizationCallbackCoordinator;
         2: .line 471
            invokeinterface org.hibernate.resource.transaction.backend.jta.internal.synchronization.SynchronizationCallbackCoordinator.processAnyDelayedAfterCompletion:()V
         3: .line 473
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  protected org.hibernate.engine.transaction.spi.TransactionImplementor getCurrentTransaction();
    descriptor: ()Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 476
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.currentHibernateTransaction:Lorg/hibernate/engine/transaction/spi/TransactionImplementor;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public boolean isConnected();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 481
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkTransactionSynchStatus:()V
         1: .line 482
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getLogicalConnection:()Lorg/hibernate/resource/jdbc/spi/LogicalConnectionImplementor;
            invokeinterface org.hibernate.resource.jdbc.spi.LogicalConnectionImplementor.isOpen:()Z
            ireturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.engine.jdbc.connections.spi.JdbcConnectionAccess getJdbcConnectionAccess();
    descriptor: ()Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 488
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcConnectionAccess:Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;
            ifnonnull 12
         1: .line 489
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getMultiTenancyStrategy:()Lorg/hibernate/MultiTenancyStrategy;
            invokevirtual org.hibernate.MultiTenancyStrategy.requiresMultiTenantConnectionProvider:()Z
            ifne 7
         2: .line 490
            aload 0 /* this */
            new org.hibernate.internal.NonContextualJdbcConnectionAccess
            dup
         3: .line 491
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getEventListenerManager:()Lorg/hibernate/engine/spi/SessionEventListenerManager;
         4: .line 492
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            ldc Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.jdbc.connections.spi.ConnectionProvider
            invokespecial org.hibernate.internal.NonContextualJdbcConnectionAccess.<init>:(Lorg/hibernate/SessionEventListener;Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;)V
         5: .line 490
            putfield org.hibernate.internal.AbstractSharedSessionContract.jdbcConnectionAccess:Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;
         6: .line 494
            goto 12
         7: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.hibernate.internal.ContextualJdbcConnectionAccess
            dup
         8: .line 497
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getTenantIdentifier:()Ljava/lang/String;
         9: .line 498
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getEventListenerManager:()Lorg/hibernate/engine/spi/SessionEventListenerManager;
        10: .line 499
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            ldc Lorg/hibernate/engine/jdbc/connections/spi/MultiTenantConnectionProvider;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider
            invokespecial org.hibernate.internal.ContextualJdbcConnectionAccess.<init>:(Ljava/lang/String;Lorg/hibernate/SessionEventListener;Lorg/hibernate/engine/jdbc/connections/spi/MultiTenantConnectionProvider;)V
        11: .line 496
            putfield org.hibernate.internal.AbstractSharedSessionContract.jdbcConnectionAccess:Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;
        12: .line 503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcConnectionAccess:Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.engine.spi.EntityKey generateEntityKey(java.io.Serializable, org.hibernate.persister.entity.EntityPersister);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.io.Serializable id
        start local 2 // org.hibernate.persister.entity.EntityPersister persister
         0: .line 508
            new org.hibernate.engine.spi.EntityKey
            dup
            aload 1 /* id */
            aload 2 /* persister */
            invokespecial org.hibernate.engine.spi.EntityKey.<init>:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)V
            areturn
        end local 2 // org.hibernate.persister.entity.EntityPersister persister
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1         id  Ljava/io/Serializable;
            0    1     2  persister  Lorg/hibernate/persister/entity/EntityPersister;
    MethodParameters:
           Name  Flags
      id         
      persister  

  public boolean useStreamForLobBinding();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 513
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.useStreamForLobBinding:Ljava/lang/Boolean;
            ifnonnull 6
         1: .line 514
            aload 0 /* this */
            invokestatic org.hibernate.cfg.Environment.useStreamsForBinary:()Z
            ifne 3
         2: .line 515
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.dialect.Dialect.useInputStreamToInsertBlob:()Z
            ifne 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack: org.hibernate.internal.AbstractSharedSessionContract
         3: iconst_1
      StackMap locals: org.hibernate.internal.AbstractSharedSessionContract
      StackMap stack: org.hibernate.internal.AbstractSharedSessionContract int
         4: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         5: .line 514
            putfield org.hibernate.internal.AbstractSharedSessionContract.useStreamForLobBinding:Ljava/lang/Boolean;
         6: .line 517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.useStreamForLobBinding:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.engine.jdbc.LobCreator getLobCreator();
    descriptor: ()Lorg/hibernate/engine/jdbc/LobCreator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 522
            aload 0 /* this */
            invokestatic org.hibernate.Hibernate.getLobCreator:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/jdbc/LobCreator;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public <T> T execute(org.hibernate.engine.jdbc.LobCreationContext$Callback<T>);
    descriptor: (Lorg/hibernate/engine/jdbc/LobCreationContext$Callback;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.engine.jdbc.LobCreationContext$Callback callback
         0: .line 527
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
         1: .line 528
            aload 0 /* this */
            aload 1 /* callback */
            invokedynamic accept(Lorg/hibernate/internal/AbstractSharedSessionContract;Lorg/hibernate/engine/jdbc/LobCreationContext$Callback;)Lorg/hibernate/jdbc/WorkExecutorVisitable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/hibernate/jdbc/WorkExecutor;Ljava/sql/Connection;)Ljava/lang/Object;
                  org/hibernate/internal/AbstractSharedSessionContract.lambda$1(Lorg/hibernate/engine/jdbc/LobCreationContext$Callback;Lorg/hibernate/jdbc/WorkExecutor;Ljava/sql/Connection;)Ljava/lang/Object; (7)
                  (Lorg/hibernate/jdbc/WorkExecutor;Ljava/sql/Connection;)Ljava/lang/Object;
         2: .line 527
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.coordinateWork:(Lorg/hibernate/jdbc/WorkExecutorVisitable;)Ljava/lang/Object;
            areturn
        end local 1 // org.hibernate.engine.jdbc.LobCreationContext$Callback callback
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    3     1  callback  Lorg/hibernate/engine/jdbc/LobCreationContext$Callback<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/hibernate/engine/jdbc/LobCreationContext$Callback<TT;>;)TT;
    MethodParameters:
          Name  Flags
      callback  final

  public org.hibernate.type.descriptor.sql.SqlTypeDescriptor remapSqlTypeDescriptor(org.hibernate.type.descriptor.sql.SqlTypeDescriptor);
    descriptor: (Lorg/hibernate/type/descriptor/sql/SqlTypeDescriptor;)Lorg/hibernate/type/descriptor/sql/SqlTypeDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.type.descriptor.sql.SqlTypeDescriptor sqlTypeDescriptor
         0: .line 544
            aload 1 /* sqlTypeDescriptor */
            invokeinterface org.hibernate.type.descriptor.sql.SqlTypeDescriptor.canBeRemapped:()Z
            ifne 2
         1: .line 545
            aload 1 /* sqlTypeDescriptor */
            areturn
         2: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
            astore 2 /* dialect */
        start local 2 // org.hibernate.dialect.Dialect dialect
         3: .line 549
            aload 2 /* dialect */
            aload 1 /* sqlTypeDescriptor */
            invokevirtual org.hibernate.dialect.Dialect.remapSqlTypeDescriptor:(Lorg/hibernate/type/descriptor/sql/SqlTypeDescriptor;)Lorg/hibernate/type/descriptor/sql/SqlTypeDescriptor;
            astore 3 /* remapped */
        start local 3 // org.hibernate.type.descriptor.sql.SqlTypeDescriptor remapped
         4: .line 550
            aload 3 /* remapped */
            ifnonnull 5
            aload 1 /* sqlTypeDescriptor */
            goto 6
      StackMap locals: org.hibernate.dialect.Dialect org.hibernate.type.descriptor.sql.SqlTypeDescriptor
      StackMap stack:
         5: aload 3 /* remapped */
      StackMap locals:
      StackMap stack: org.hibernate.type.descriptor.sql.SqlTypeDescriptor
         6: areturn
        end local 3 // org.hibernate.type.descriptor.sql.SqlTypeDescriptor remapped
        end local 2 // org.hibernate.dialect.Dialect dialect
        end local 1 // org.hibernate.type.descriptor.sql.SqlTypeDescriptor sqlTypeDescriptor
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    7     1  sqlTypeDescriptor  Lorg/hibernate/type/descriptor/sql/SqlTypeDescriptor;
            3    7     2            dialect  Lorg/hibernate/dialect/Dialect;
            4    7     3           remapped  Lorg/hibernate/type/descriptor/sql/SqlTypeDescriptor;
    MethodParameters:
                   Name  Flags
      sqlTypeDescriptor  

  public java.util.TimeZone getJdbcTimeZone();
    descriptor: ()Ljava/util/TimeZone;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 555
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcTimeZone:Ljava/util/TimeZone;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.engine.jdbc.spi.JdbcServices getJdbcServices();
    descriptor: ()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 560
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public void setFlushMode(org.hibernate.FlushMode);
    descriptor: (Lorg/hibernate/FlushMode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.FlushMode flushMode
         0: .line 565
            aload 0 /* this */
            aload 1 /* flushMode */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.setHibernateFlushMode:(Lorg/hibernate/FlushMode;)V
         1: .line 566
            return
        end local 1 // org.hibernate.FlushMode flushMode
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    2     1  flushMode  Lorg/hibernate/FlushMode;
    MethodParameters:
           Name  Flags
      flushMode  

  public javax.persistence.FlushModeType getFlushMode();
    descriptor: ()Ljavax/persistence/FlushModeType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 570
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 571
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.flushMode:Lorg/hibernate/FlushMode;
            invokestatic org.hibernate.jpa.internal.util.FlushModeTypeHelper.getFlushModeType:(Lorg/hibernate/FlushMode;)Ljavax/persistence/FlushModeType;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public void setHibernateFlushMode(org.hibernate.FlushMode);
    descriptor: (Lorg/hibernate/FlushMode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.FlushMode flushMode
         0: .line 576
            aload 0 /* this */
            aload 1 /* flushMode */
            putfield org.hibernate.internal.AbstractSharedSessionContract.flushMode:Lorg/hibernate/FlushMode;
         1: .line 577
            return
        end local 1 // org.hibernate.FlushMode flushMode
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    2     1  flushMode  Lorg/hibernate/FlushMode;
    MethodParameters:
           Name  Flags
      flushMode  

  public org.hibernate.FlushMode getHibernateFlushMode();
    descriptor: ()Lorg/hibernate/FlushMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 581
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.flushMode:Lorg/hibernate/FlushMode;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public org.hibernate.CacheMode getCacheMode();
    descriptor: ()Lorg/hibernate/CacheMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 586
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.cacheMode:Lorg/hibernate/CacheMode;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public void setCacheMode(org.hibernate.CacheMode);
    descriptor: (Lorg/hibernate/CacheMode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.CacheMode cacheMode
         0: .line 591
            aload 0 /* this */
            aload 1 /* cacheMode */
            putfield org.hibernate.internal.AbstractSharedSessionContract.cacheMode:Lorg/hibernate/CacheMode;
         1: .line 592
            return
        end local 1 // org.hibernate.CacheMode cacheMode
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    2     1  cacheMode  Lorg/hibernate/CacheMode;
    MethodParameters:
           Name  Flags
      cacheMode  

  protected org.hibernate.engine.query.spi.HQLQueryPlan getQueryPlan(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/hibernate/engine/query/spi/HQLQueryPlan;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String query
        start local 2 // boolean shallow
         0: .line 595
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getQueryPlanCache:()Lorg/hibernate/engine/query/spi/QueryPlanCache;
            aload 1 /* query */
            iload 2 /* shallow */
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getEnabledFilters:()Ljava/util/Map;
            invokevirtual org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan:(Ljava/lang/String;ZLjava/util/Map;)Lorg/hibernate/engine/query/spi/HQLQueryPlan;
            areturn
        end local 2 // boolean shallow
        end local 1 // java.lang.String query
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1    query  Ljava/lang/String;
            0    1     2  shallow  Z
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      query    
      shallow  

  protected org.hibernate.engine.query.spi.NativeSQLQueryPlan getNativeQueryPlan(org.hibernate.engine.query.spi.sql.NativeSQLQuerySpecification);
    descriptor: (Lorg/hibernate/engine/query/spi/sql/NativeSQLQuerySpecification;)Lorg/hibernate/engine/query/spi/NativeSQLQueryPlan;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.engine.query.spi.sql.NativeSQLQuerySpecification spec
         0: .line 599
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getQueryPlanCache:()Lorg/hibernate/engine/query/spi/QueryPlanCache;
            aload 1 /* spec */
            invokevirtual org.hibernate.engine.query.spi.QueryPlanCache.getNativeSQLQueryPlan:(Lorg/hibernate/engine/query/spi/sql/NativeSQLQuerySpecification;)Lorg/hibernate/engine/query/spi/NativeSQLQueryPlan;
            areturn
        end local 1 // org.hibernate.engine.query.spi.sql.NativeSQLQuerySpecification spec
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1  spec  Lorg/hibernate/engine/query/spi/sql/NativeSQLQuerySpecification;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
      Name  Flags
      spec  

  public org.hibernate.query.spi.QueryImplementor getNamedQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/spi/QueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String name
         0: .line 604
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 605
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkTransactionSynchStatus:()V
         2: .line 606
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.delayedAfterCompletion:()V
         3: .line 609
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getNamedQueryRepository:()Lorg/hibernate/query/spi/NamedQueryRepository;
            aload 1 /* name */
            invokevirtual org.hibernate.query.spi.NamedQueryRepository.getNamedQueryDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedQueryDefinition;
            astore 2 /* queryDefinition */
        start local 2 // org.hibernate.engine.spi.NamedQueryDefinition queryDefinition
         4: .line 610
            aload 2 /* queryDefinition */
            ifnull 6
         5: .line 611
            aload 0 /* this */
            aload 2 /* queryDefinition */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createQuery:(Lorg/hibernate/engine/spi/NamedQueryDefinition;)Lorg/hibernate/query/spi/QueryImplementor;
            areturn
         6: .line 615
      StackMap locals: org.hibernate.engine.spi.NamedQueryDefinition
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getNamedQueryRepository:()Lorg/hibernate/query/spi/NamedQueryRepository;
            aload 1 /* name */
            invokevirtual org.hibernate.query.spi.NamedQueryRepository.getNamedSQLQueryDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
            astore 3 /* nativeQueryDefinition */
        start local 3 // org.hibernate.engine.spi.NamedSQLQueryDefinition nativeQueryDefinition
         7: .line 616
            aload 3 /* nativeQueryDefinition */
            ifnull 9
         8: .line 617
            aload 0 /* this */
            aload 3 /* nativeQueryDefinition */
            iconst_1
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createNativeQuery:(Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;Z)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
         9: .line 620
      StackMap locals: org.hibernate.engine.spi.NamedSQLQueryDefinition
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No query defined for that name ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            invokeinterface org.hibernate.engine.spi.ExceptionConverter.convert:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // org.hibernate.engine.spi.NamedSQLQueryDefinition nativeQueryDefinition
        end local 2 // org.hibernate.engine.spi.NamedQueryDefinition queryDefinition
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   10     0                   this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   10     1                   name  Ljava/lang/String;
            4   10     2        queryDefinition  Lorg/hibernate/engine/spi/NamedQueryDefinition;
            7   10     3  nativeQueryDefinition  Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
    MethodParameters:
      Name  Flags
      name  

  protected org.hibernate.query.spi.QueryImplementor createQuery(org.hibernate.engine.spi.NamedQueryDefinition);
    descriptor: (Lorg/hibernate/engine/spi/NamedQueryDefinition;)Lorg/hibernate/query/spi/QueryImplementor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.engine.spi.NamedQueryDefinition queryDefinition
         0: .line 624
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getQueryString:()Ljava/lang/String;
            astore 2 /* queryString */
        start local 2 // java.lang.String queryString
         1: .line 625
            new org.hibernate.query.internal.QueryImpl
            dup
         2: .line 626
            aload 0 /* this */
         3: .line 627
            aload 0 /* this */
            aload 2 /* queryString */
            iconst_0
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan:(Ljava/lang/String;Z)Lorg/hibernate/engine/query/spi/HQLQueryPlan;
            invokevirtual org.hibernate.engine.query.spi.HQLQueryPlan.getParameterMetadata:()Lorg/hibernate/query/internal/ParameterMetadataImpl;
         4: .line 628
            aload 2 /* queryString */
         5: .line 625
            invokespecial org.hibernate.query.internal.QueryImpl.<init>:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/query/ParameterMetadata;Ljava/lang/String;)V
            astore 3 /* query */
        start local 3 // org.hibernate.query.internal.QueryImpl query
         6: .line 630
            aload 3 /* query */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getFlushMode:()Lorg/hibernate/FlushMode;
            invokevirtual org.hibernate.query.internal.QueryImpl.setHibernateFlushMode:(Lorg/hibernate/FlushMode;)Lorg/hibernate/query/spi/QueryImplementor;
            pop
         7: .line 631
            aload 3 /* query */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getComment:()Ljava/lang/String;
            ifnull 8
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getComment:()Ljava/lang/String;
            goto 9
      StackMap locals: org.hibernate.internal.AbstractSharedSessionContract org.hibernate.engine.spi.NamedQueryDefinition java.lang.String org.hibernate.query.internal.QueryImpl
      StackMap stack: org.hibernate.query.internal.QueryImpl
         8: aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getName:()Ljava/lang/String;
      StackMap locals: org.hibernate.internal.AbstractSharedSessionContract org.hibernate.engine.spi.NamedQueryDefinition java.lang.String org.hibernate.query.internal.QueryImpl
      StackMap stack: org.hibernate.query.internal.QueryImpl java.lang.String
         9: invokevirtual org.hibernate.query.internal.QueryImpl.setComment:(Ljava/lang/String;)Lorg/hibernate/query/spi/QueryImplementor;
            pop
        10: .line 632
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getLockOptions:()Lorg/hibernate/LockOptions;
            ifnull 12
        11: .line 633
            aload 3 /* query */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.query.internal.QueryImpl.setLockOptions:(Lorg/hibernate/LockOptions;)Lorg/hibernate/query/spi/QueryImplementor;
            pop
        12: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* query */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.initQueryFromNamedDefinition:(Lorg/hibernate/query/Query;Lorg/hibernate/engine/spi/NamedQueryDefinition;)V
        13: .line 639
            aload 3 /* query */
            areturn
        end local 3 // org.hibernate.query.internal.QueryImpl query
        end local 2 // java.lang.String queryString
        end local 1 // org.hibernate.engine.spi.NamedQueryDefinition queryDefinition
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   14     1  queryDefinition  Lorg/hibernate/engine/spi/NamedQueryDefinition;
            1   14     2      queryString  Ljava/lang/String;
            6   14     3            query  Lorg/hibernate/query/internal/QueryImpl;
    MethodParameters:
                 Name  Flags
      queryDefinition  

  private org.hibernate.query.spi.NativeQueryImplementor createNativeQuery(org.hibernate.engine.spi.NamedSQLQueryDefinition, boolean);
    descriptor: (Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;Z)Lorg/hibernate/query/spi/NativeQueryImplementor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.engine.spi.NamedSQLQueryDefinition queryDefinition
        start local 2 // boolean isOrdinalParameterZeroBased
         0: .line 643
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getQueryPlanCache:()Lorg/hibernate/engine/query/spi/QueryPlanCache;
         1: .line 644
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getQueryString:()Ljava/lang/String;
         2: .line 645
            iload 2 /* isOrdinalParameterZeroBased */
         3: .line 643
            invokevirtual org.hibernate.engine.query.spi.QueryPlanCache.getSQLParameterMetadata:(Ljava/lang/String;Z)Lorg/hibernate/query/ParameterMetadata;
            astore 3 /* parameterMetadata */
        start local 3 // org.hibernate.query.ParameterMetadata parameterMetadata
         4: .line 647
            aload 0 /* this */
            aload 1 /* queryDefinition */
            aload 3 /* parameterMetadata */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getNativeQueryImplementor:(Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;Lorg/hibernate/query/ParameterMetadata;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
        end local 3 // org.hibernate.query.ParameterMetadata parameterMetadata
        end local 2 // boolean isOrdinalParameterZeroBased
        end local 1 // org.hibernate.engine.spi.NamedSQLQueryDefinition queryDefinition
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    5     0                         this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    5     1              queryDefinition  Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
            0    5     2  isOrdinalParameterZeroBased  Z
            4    5     3            parameterMetadata  Lorg/hibernate/query/ParameterMetadata;
    MethodParameters:
                             Name  Flags
      queryDefinition              
      isOrdinalParameterZeroBased  

  private org.hibernate.query.spi.NativeQueryImplementor getNativeQueryImplementor(org.hibernate.engine.spi.NamedSQLQueryDefinition, org.hibernate.query.ParameterMetadata);
    descriptor: (Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;Lorg/hibernate/query/ParameterMetadata;)Lorg/hibernate/query/spi/NativeQueryImplementor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.engine.spi.NamedSQLQueryDefinition queryDefinition
        start local 2 // org.hibernate.query.ParameterMetadata parameterMetadata
         0: .line 653
            new org.hibernate.query.internal.NativeQueryImpl
            dup
         1: .line 654
            aload 1 /* queryDefinition */
         2: .line 655
            aload 0 /* this */
         3: .line 656
            aload 2 /* parameterMetadata */
         4: .line 653
            invokespecial org.hibernate.query.internal.NativeQueryImpl.<init>:(Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/query/ParameterMetadata;)V
            astore 3 /* query */
        start local 3 // org.hibernate.query.internal.NativeQueryImpl query
         5: .line 658
            aload 3 /* query */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getComment:()Ljava/lang/String;
            ifnull 6
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getComment:()Ljava/lang/String;
            goto 7
      StackMap locals: org.hibernate.internal.AbstractSharedSessionContract org.hibernate.engine.spi.NamedSQLQueryDefinition org.hibernate.query.ParameterMetadata org.hibernate.query.internal.NativeQueryImpl
      StackMap stack: org.hibernate.query.internal.NativeQueryImpl
         6: aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getName:()Ljava/lang/String;
      StackMap locals: org.hibernate.internal.AbstractSharedSessionContract org.hibernate.engine.spi.NamedSQLQueryDefinition org.hibernate.query.ParameterMetadata org.hibernate.query.internal.NativeQueryImpl
      StackMap stack: org.hibernate.query.internal.NativeQueryImpl java.lang.String
         7: invokevirtual org.hibernate.query.internal.NativeQueryImpl.setComment:(Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            pop
         8: .line 660
            aload 0 /* this */
            aload 3 /* query */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.initQueryFromNamedDefinition:(Lorg/hibernate/query/Query;Lorg/hibernate/engine/spi/NamedQueryDefinition;)V
         9: .line 661
            aload 0 /* this */
            aload 3 /* query */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.applyQuerySettingsAndHints:(Lorg/hibernate/query/Query;)V
        10: .line 663
            aload 3 /* query */
            areturn
        end local 3 // org.hibernate.query.internal.NativeQueryImpl query
        end local 2 // org.hibernate.query.ParameterMetadata parameterMetadata
        end local 1 // org.hibernate.engine.spi.NamedSQLQueryDefinition queryDefinition
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   11     1    queryDefinition  Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
            0   11     2  parameterMetadata  Lorg/hibernate/query/ParameterMetadata;
            5   11     3              query  Lorg/hibernate/query/internal/NativeQueryImpl;
    MethodParameters:
                   Name  Flags
      queryDefinition    
      parameterMetadata  

  protected void initQueryFromNamedDefinition(org.hibernate.query.Query, org.hibernate.engine.spi.NamedQueryDefinition);
    descriptor: (Lorg/hibernate/query/Query;Lorg/hibernate/engine/spi/NamedQueryDefinition;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.query.Query query
        start local 2 // org.hibernate.engine.spi.NamedQueryDefinition nqd
         0: .line 668
            aload 1 /* query */
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.isCacheable:()Z
            invokeinterface org.hibernate.query.Query.setCacheable:(Z)Lorg/hibernate/query/Query;
            pop
         1: .line 669
            aload 1 /* query */
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getCacheRegion:()Ljava/lang/String;
            invokeinterface org.hibernate.query.Query.setCacheRegion:(Ljava/lang/String;)Lorg/hibernate/query/Query;
            pop
         2: .line 670
            aload 1 /* query */
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.isReadOnly:()Z
            invokeinterface org.hibernate.query.Query.setReadOnly:(Z)Lorg/hibernate/query/Query;
            pop
         3: .line 672
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getTimeout:()Ljava/lang/Integer;
            ifnull 5
         4: .line 673
            aload 1 /* query */
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getTimeout:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface org.hibernate.query.Query.setTimeout:(I)Lorg/hibernate/query/Query;
            pop
         5: .line 675
      StackMap locals:
      StackMap stack:
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getFetchSize:()Ljava/lang/Integer;
            ifnull 7
         6: .line 676
            aload 1 /* query */
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getFetchSize:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface org.hibernate.query.Query.setFetchSize:(I)Lorg/hibernate/query/Query;
            pop
         7: .line 678
      StackMap locals:
      StackMap stack:
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getCacheMode:()Lorg/hibernate/CacheMode;
            ifnull 9
         8: .line 679
            aload 1 /* query */
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getCacheMode:()Lorg/hibernate/CacheMode;
            invokeinterface org.hibernate.query.Query.setCacheMode:(Lorg/hibernate/CacheMode;)Lorg/hibernate/query/Query;
            pop
         9: .line 681
      StackMap locals:
      StackMap stack:
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getComment:()Ljava/lang/String;
            ifnull 11
        10: .line 682
            aload 1 /* query */
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getComment:()Ljava/lang/String;
            invokeinterface org.hibernate.query.Query.setComment:(Ljava/lang/String;)Lorg/hibernate/query/Query;
            pop
        11: .line 684
      StackMap locals:
      StackMap stack:
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getFirstResult:()Ljava/lang/Integer;
            ifnull 13
        12: .line 685
            aload 1 /* query */
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getFirstResult:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface org.hibernate.query.Query.setFirstResult:(I)Lorg/hibernate/query/Query;
            pop
        13: .line 687
      StackMap locals:
      StackMap stack:
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getMaxResults:()Ljava/lang/Integer;
            ifnull 15
        14: .line 688
            aload 1 /* query */
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getMaxResults:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface org.hibernate.query.Query.setMaxResults:(I)Lorg/hibernate/query/Query;
            pop
        15: .line 690
      StackMap locals:
      StackMap stack:
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getFlushMode:()Lorg/hibernate/FlushMode;
            ifnull 17
        16: .line 691
            aload 1 /* query */
            aload 2 /* nqd */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getFlushMode:()Lorg/hibernate/FlushMode;
            invokeinterface org.hibernate.query.Query.setHibernateFlushMode:(Lorg/hibernate/FlushMode;)Lorg/hibernate/query/Query;
            pop
        17: .line 693
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.engine.spi.NamedQueryDefinition nqd
        end local 1 // org.hibernate.query.Query query
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   18     1  query  Lorg/hibernate/query/Query;
            0   18     2    nqd  Lorg/hibernate/engine/spi/NamedQueryDefinition;
    MethodParameters:
       Name  Flags
      query  
      nqd    

  public org.hibernate.query.spi.QueryImplementor createQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/spi/QueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String queryString
         0: .line 697
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 698
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkTransactionSynchStatus:()V
         2: .line 699
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.delayedAfterCompletion:()V
         3: .line 702
            new org.hibernate.query.internal.QueryImpl
            dup
         4: .line 703
            aload 0 /* this */
         5: .line 704
            aload 0 /* this */
            aload 1 /* queryString */
            iconst_0
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan:(Ljava/lang/String;Z)Lorg/hibernate/engine/query/spi/HQLQueryPlan;
            invokevirtual org.hibernate.engine.query.spi.HQLQueryPlan.getParameterMetadata:()Lorg/hibernate/query/internal/ParameterMetadataImpl;
         6: .line 705
            aload 1 /* queryString */
         7: .line 702
            invokespecial org.hibernate.query.internal.QueryImpl.<init>:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/query/ParameterMetadata;Ljava/lang/String;)V
            astore 2 /* query */
        start local 2 // org.hibernate.query.internal.QueryImpl query
         8: .line 707
            aload 2 /* query */
            aload 1 /* queryString */
            invokevirtual org.hibernate.query.internal.QueryImpl.setComment:(Ljava/lang/String;)Lorg/hibernate/query/spi/QueryImplementor;
            pop
         9: .line 708
            aload 0 /* this */
            aload 2 /* query */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.applyQuerySettingsAndHints:(Lorg/hibernate/query/Query;)V
        10: .line 709
            aload 2 /* query */
        11: areturn
        end local 2 // org.hibernate.query.internal.QueryImpl query
        12: .line 711
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
        13: .line 712
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.markForRollbackOnly:()V
        14: .line 713
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
            aload 2 /* e */
            invokeinterface org.hibernate.engine.spi.ExceptionConverter.convert:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.RuntimeException e
        end local 1 // java.lang.String queryString
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   15     1  queryString  Ljava/lang/String;
            8   12     2        query  Lorg/hibernate/query/internal/QueryImpl;
           13   15     2            e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           3    11      12  Class java.lang.RuntimeException
    MethodParameters:
             Name  Flags
      queryString  

  protected void applyQuerySettingsAndHints(org.hibernate.query.Query);
    descriptor: (Lorg/hibernate/query/Query;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.query.Query query
         0: .line 718
            return
        end local 1 // org.hibernate.query.Query query
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1  query  Lorg/hibernate/query/Query;
    MethodParameters:
       Name  Flags
      query  

  public <T> org.hibernate.query.spi.QueryImplementor<T> createQuery(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/spi/QueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String queryString
        start local 2 // java.lang.Class resultClass
         0: .line 723
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 724
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkTransactionSynchStatus:()V
         2: .line 725
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.delayedAfterCompletion:()V
         3: .line 729
            aload 0 /* this */
            aload 1 /* queryString */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/QueryImplementor;
            astore 3 /* query */
        start local 3 // org.hibernate.query.spi.QueryImplementor query
         4: .line 730
            aload 0 /* this */
            aload 2 /* resultClass */
            aload 3 /* query */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.resultClassChecking:(Ljava/lang/Class;Lorg/hibernate/Query;)V
         5: .line 731
            aload 3 /* query */
         6: areturn
        end local 3 // org.hibernate.query.spi.QueryImplementor query
         7: .line 733
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 3 /* e */
        start local 3 // java.lang.RuntimeException e
         8: .line 734
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
            aload 3 /* e */
            invokeinterface org.hibernate.engine.spi.ExceptionConverter.convert:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.RuntimeException e
        end local 2 // java.lang.Class resultClass
        end local 1 // java.lang.String queryString
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    9     1  queryString  Ljava/lang/String;
            0    9     2  resultClass  Ljava/lang/Class<TT;>;
            4    7     3        query  Lorg/hibernate/query/spi/QueryImplementor<TT;>;
            8    9     3            e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.RuntimeException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)Lorg/hibernate/query/spi/QueryImplementor<TT;>;
    MethodParameters:
             Name  Flags
      queryString  
      resultClass  

  protected void resultClassChecking(java.lang.Class, org.hibernate.Query);
    descriptor: (Ljava/lang/Class;Lorg/hibernate/Query;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.Class resultClass
        start local 2 // org.hibernate.Query hqlQuery
         0: .line 741
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getQueryPlanCache:()Lorg/hibernate/engine/query/spi/QueryPlanCache;
         1: .line 742
            aload 2 /* hqlQuery */
            invokeinterface org.hibernate.Query.getQueryString:()Ljava/lang/String;
         2: .line 743
            iconst_0
         3: .line 744
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getEnabledFilters:()Ljava/util/Map;
         4: .line 741
            invokevirtual org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan:(Ljava/lang/String;ZLjava/util/Map;)Lorg/hibernate/engine/query/spi/HQLQueryPlan;
            astore 3 /* queryPlan */
        start local 3 // org.hibernate.engine.query.spi.HQLQueryPlan queryPlan
         5: .line 746
            aload 3 /* queryPlan */
            invokevirtual org.hibernate.engine.query.spi.HQLQueryPlan.getTranslators:()[Lorg/hibernate/hql/spi/QueryTranslator;
            iconst_0
            aaload
            invokeinterface org.hibernate.hql.spi.QueryTranslator.isManipulationStatement:()Z
            ifeq 7
         6: .line 747
            new java.lang.IllegalArgumentException
            dup
            ldc "Update/delete queries cannot be typed"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 751
      StackMap locals: org.hibernate.engine.query.spi.HQLQueryPlan
      StackMap stack:
            ldc [Ljava/lang/Object;
            aload 1 /* resultClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 35
         8: .line 754
            ldc Ljavax/persistence/Tuple;
            aload 1 /* resultClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
         9: .line 755
            new org.hibernate.jpa.spi.TupleBuilderTransformer
            dup
            aload 2 /* hqlQuery */
            invokespecial org.hibernate.jpa.spi.TupleBuilderTransformer.<init>:(Lorg/hibernate/Query;)V
            astore 4 /* tupleTransformer */
        start local 4 // org.hibernate.jpa.spi.TupleBuilderTransformer tupleTransformer
        10: .line 756
            aload 2 /* hqlQuery */
            aload 4 /* tupleTransformer */
            invokeinterface org.hibernate.Query.setResultTransformer:(Lorg/hibernate/transform/ResultTransformer;)Lorg/hibernate/Query;
            pop
        end local 4 // org.hibernate.jpa.spi.TupleBuilderTransformer tupleTransformer
        11: .line 757
            goto 35
        12: .line 759
      StackMap locals:
      StackMap stack:
            aload 3 /* queryPlan */
            invokevirtual org.hibernate.engine.query.spi.HQLQueryPlan.getDynamicInstantiationResultType:()Ljava/lang/Class;
            astore 4 /* dynamicInstantiationClass */
        start local 4 // java.lang.Class dynamicInstantiationClass
        13: .line 760
            aload 4 /* dynamicInstantiationClass */
            ifnull 20
        14: .line 761
            aload 1 /* resultClass */
            aload 4 /* dynamicInstantiationClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 35
        15: .line 762
            new java.lang.IllegalArgumentException
            dup
        16: .line 763
            new java.lang.StringBuilder
            dup
            ldc "Mismatch in requested result type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resultClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 764
            ldc "] and actual result type ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* dynamicInstantiationClass */
            invokevirtual java.lang.Class.getName:()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;
        18: .line 763
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 762
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 768
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* queryPlan */
            invokevirtual org.hibernate.engine.query.spi.HQLQueryPlan.getTranslators:()[Lorg/hibernate/hql/spi/QueryTranslator;
            iconst_0
            aaload
            invokeinterface org.hibernate.hql.spi.QueryTranslator.getReturnTypes:()[Lorg/hibernate/type/Type;
            arraylength
            iconst_1
            if_icmpne 30
        21: .line 770
            aload 3 /* queryPlan */
            invokevirtual org.hibernate.engine.query.spi.HQLQueryPlan.getTranslators:()[Lorg/hibernate/hql/spi/QueryTranslator;
            iconst_0
            aaload
            invokeinterface org.hibernate.hql.spi.QueryTranslator.getReturnTypes:()[Lorg/hibernate/type/Type;
            iconst_0
            aaload
            astore 5 /* queryResultType */
        start local 5 // org.hibernate.type.Type queryResultType
        22: .line 771
            aload 1 /* resultClass */
            aload 5 /* queryResultType */
            invokeinterface org.hibernate.type.Type.getReturnedClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 35
        23: .line 772
            new java.lang.IllegalArgumentException
            dup
        24: .line 773
            new java.lang.StringBuilder
            dup
            ldc "Type specified for TypedQuery ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 774
            aload 1 /* resultClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 775
            ldc "] is incompatible with query return type ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 776
            aload 5 /* queryResultType */
            invokeinterface org.hibernate.type.Type.getReturnedClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 773
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 772
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // org.hibernate.type.Type queryResultType
        30: .line 781
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        31: .line 782
            new java.lang.StringBuilder
            dup
            ldc "Cannot create TypedQuery for query with more than one return using requested result type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        32: .line 783
            aload 1 /* resultClass */
            invokevirtual java.lang.Class.getName:()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;
        33: .line 782
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 781
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Class dynamicInstantiationClass
        35: .line 787
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.query.spi.HQLQueryPlan queryPlan
        end local 2 // org.hibernate.Query hqlQuery
        end local 1 // java.lang.Class resultClass
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   36     0                       this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   36     1                resultClass  Ljava/lang/Class;
            0   36     2                   hqlQuery  Lorg/hibernate/Query;
            5   36     3                  queryPlan  Lorg/hibernate/engine/query/spi/HQLQueryPlan;
           10   11     4           tupleTransformer  Lorg/hibernate/jpa/spi/TupleBuilderTransformer;
           13   35     4  dynamicInstantiationClass  Ljava/lang/Class;
           22   30     5            queryResultType  Lorg/hibernate/type/Type;
    MethodParameters:
             Name  Flags
      resultClass  
      hqlQuery     

  public org.hibernate.query.spi.QueryImplementor createNamedQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/spi/QueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String name
         0: .line 791
            aload 0 /* this */
            aload 1 /* name */
            aconst_null
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.buildQueryFromName:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/spi/QueryImplementor;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected <T> org.hibernate.query.spi.QueryImplementor<T> buildQueryFromName(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/spi/QueryImplementor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class resultType
         0: .line 795
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 797
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkTransactionSynchStatus:()V
         2: .line 798
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.delayedAfterCompletion:()V
         3: .line 802
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getNamedQueryRepository:()Lorg/hibernate/query/spi/NamedQueryRepository;
            aload 1 /* name */
            invokevirtual org.hibernate.query.spi.NamedQueryRepository.getNamedQueryDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedQueryDefinition;
            astore 3 /* namedQueryDefinition */
        start local 3 // org.hibernate.engine.spi.NamedQueryDefinition namedQueryDefinition
         4: .line 803
            aload 3 /* namedQueryDefinition */
            ifnull 7
         5: .line 804
            aload 0 /* this */
            aload 3 /* namedQueryDefinition */
            aload 2 /* resultType */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createQuery:(Lorg/hibernate/engine/spi/NamedQueryDefinition;Ljava/lang/Class;)Lorg/hibernate/query/spi/QueryImplementor;
         6: areturn
         7: .line 807
      StackMap locals: org.hibernate.engine.spi.NamedQueryDefinition
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getNamedQueryRepository:()Lorg/hibernate/query/spi/NamedQueryRepository;
            aload 1 /* name */
            invokevirtual org.hibernate.query.spi.NamedQueryRepository.getNamedSQLQueryDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
            astore 4 /* nativeQueryDefinition */
        start local 4 // org.hibernate.engine.spi.NamedSQLQueryDefinition nativeQueryDefinition
         8: .line 808
            aload 4 /* nativeQueryDefinition */
            ifnull 11
         9: .line 809
            aload 0 /* this */
            aload 4 /* nativeQueryDefinition */
            aload 2 /* resultType */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createNativeQuery:(Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;Ljava/lang/Class;)Lorg/hibernate/query/spi/NativeQueryImplementor;
        10: areturn
        11: .line 812
      StackMap locals: org.hibernate.engine.spi.NamedSQLQueryDefinition
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No query defined for that name ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            invokeinterface org.hibernate.engine.spi.ExceptionConverter.convert:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // org.hibernate.engine.spi.NamedSQLQueryDefinition nativeQueryDefinition
        end local 3 // org.hibernate.engine.spi.NamedQueryDefinition namedQueryDefinition
        12: .line 814
      StackMap locals: org.hibernate.internal.AbstractSharedSessionContract java.lang.String java.lang.Class
      StackMap stack: java.lang.RuntimeException
            astore 3 /* e */
        start local 3 // java.lang.RuntimeException e
        13: .line 815
            aload 3 /* e */
            instanceof java.lang.IllegalArgumentException
            ifne 14
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            goto 15
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
        14: aload 3 /* e */
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        15: athrow
        end local 3 // java.lang.RuntimeException e
        end local 2 // java.lang.Class resultType
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   16     0                   this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   16     1                   name  Ljava/lang/String;
            0   16     2             resultType  Ljava/lang/Class<TT;>;
            4   12     3   namedQueryDefinition  Lorg/hibernate/engine/spi/NamedQueryDefinition;
            8   12     4  nativeQueryDefinition  Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
           13   16     3                      e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           1     6      12  Class java.lang.RuntimeException
           7    10      12  Class java.lang.RuntimeException
          11    12      12  Class java.lang.RuntimeException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)Lorg/hibernate/query/spi/QueryImplementor<TT;>;
    MethodParameters:
            Name  Flags
      name        
      resultType  

  protected <T> org.hibernate.query.spi.QueryImplementor<T> createQuery(org.hibernate.engine.spi.NamedQueryDefinition, java.lang.Class<T>);
    descriptor: (Lorg/hibernate/engine/spi/NamedQueryDefinition;Ljava/lang/Class;)Lorg/hibernate/query/spi/QueryImplementor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.engine.spi.NamedQueryDefinition namedQueryDefinition
        start local 2 // java.lang.Class resultType
         0: .line 821
            aload 0 /* this */
            aload 1 /* namedQueryDefinition */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createQuery:(Lorg/hibernate/engine/spi/NamedQueryDefinition;)Lorg/hibernate/query/spi/QueryImplementor;
            astore 3 /* query */
        start local 3 // org.hibernate.query.spi.QueryImplementor query
         1: .line 822
            aload 2 /* resultType */
            ifnull 3
         2: .line 823
            aload 0 /* this */
            aload 2 /* resultType */
            aload 3 /* query */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.resultClassChecking:(Ljava/lang/Class;Lorg/hibernate/Query;)V
         3: .line 825
      StackMap locals: org.hibernate.query.spi.QueryImplementor
      StackMap stack:
            aload 3 /* query */
            areturn
        end local 3 // org.hibernate.query.spi.QueryImplementor query
        end local 2 // java.lang.Class resultType
        end local 1 // org.hibernate.engine.spi.NamedQueryDefinition namedQueryDefinition
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    4     1  namedQueryDefinition  Lorg/hibernate/engine/spi/NamedQueryDefinition;
            0    4     2            resultType  Ljava/lang/Class<TT;>;
            1    4     3                 query  Lorg/hibernate/query/spi/QueryImplementor;
    Signature: <T:Ljava/lang/Object;>(Lorg/hibernate/engine/spi/NamedQueryDefinition;Ljava/lang/Class<TT;>;)Lorg/hibernate/query/spi/QueryImplementor<TT;>;
    MethodParameters:
                      Name  Flags
      namedQueryDefinition  
      resultType            

  protected <T> org.hibernate.query.spi.NativeQueryImplementor createNativeQuery(org.hibernate.engine.spi.NamedSQLQueryDefinition, java.lang.Class<T>);
    descriptor: (Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;Ljava/lang/Class;)Lorg/hibernate/query/spi/NativeQueryImplementor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.engine.spi.NamedSQLQueryDefinition queryDefinition
        start local 2 // java.lang.Class resultType
         0: .line 830
            aload 2 /* resultType */
            ifnull 2
            ldc Ljavax/persistence/Tuple;
            aload 2 /* resultType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 831
            aload 0 /* this */
            aload 2 /* resultType */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.resultClassChecking:(Ljava/lang/Class;Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;)V
         2: .line 834
      StackMap locals:
      StackMap stack:
            new org.hibernate.query.internal.NativeQueryImpl
            dup
         3: .line 835
            aload 1 /* queryDefinition */
         4: .line 836
            aload 0 /* this */
         5: .line 837
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getQueryPlanCache:()Lorg/hibernate/engine/query/spi/QueryPlanCache;
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getQueryString:()Ljava/lang/String;
            iconst_0
            invokevirtual org.hibernate.engine.query.spi.QueryPlanCache.getSQLParameterMetadata:(Ljava/lang/String;Z)Lorg/hibernate/query/ParameterMetadata;
         6: .line 834
            invokespecial org.hibernate.query.internal.NativeQueryImpl.<init>:(Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/query/ParameterMetadata;)V
            astore 3 /* query */
        start local 3 // org.hibernate.query.internal.NativeQueryImpl query
         7: .line 839
            ldc Ljavax/persistence/Tuple;
            aload 2 /* resultType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 840
            aload 3 /* query */
            new org.hibernate.jpa.spi.NativeQueryTupleTransformer
            dup
            invokespecial org.hibernate.jpa.spi.NativeQueryTupleTransformer.<init>:()V
            invokevirtual org.hibernate.query.internal.NativeQueryImpl.setResultTransformer:(Lorg/hibernate/transform/ResultTransformer;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            pop
         9: .line 842
      StackMap locals: org.hibernate.query.internal.NativeQueryImpl
      StackMap stack:
            aload 3 /* query */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getFlushMode:()Lorg/hibernate/FlushMode;
            invokevirtual org.hibernate.query.internal.NativeQueryImpl.setHibernateFlushMode:(Lorg/hibernate/FlushMode;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            pop
        10: .line 843
            aload 3 /* query */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getComment:()Ljava/lang/String;
            ifnull 11
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getComment:()Ljava/lang/String;
            goto 12
      StackMap locals:
      StackMap stack: org.hibernate.query.internal.NativeQueryImpl
        11: aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getName:()Ljava/lang/String;
      StackMap locals: org.hibernate.internal.AbstractSharedSessionContract org.hibernate.engine.spi.NamedSQLQueryDefinition java.lang.Class org.hibernate.query.internal.NativeQueryImpl
      StackMap stack: org.hibernate.query.internal.NativeQueryImpl java.lang.String
        12: invokevirtual org.hibernate.query.internal.NativeQueryImpl.setComment:(Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            pop
        13: .line 844
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getLockOptions:()Lorg/hibernate/LockOptions;
            ifnull 15
        14: .line 845
            aload 3 /* query */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.query.internal.NativeQueryImpl.setLockOptions:(Lorg/hibernate/LockOptions;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            pop
        15: .line 848
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* query */
            aload 1 /* queryDefinition */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.initQueryFromNamedDefinition:(Lorg/hibernate/query/Query;Lorg/hibernate/engine/spi/NamedQueryDefinition;)V
        16: .line 849
            aload 0 /* this */
            aload 3 /* query */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.applyQuerySettingsAndHints:(Lorg/hibernate/query/Query;)V
        17: .line 851
            aload 3 /* query */
            areturn
        end local 3 // org.hibernate.query.internal.NativeQueryImpl query
        end local 2 // java.lang.Class resultType
        end local 1 // org.hibernate.engine.spi.NamedSQLQueryDefinition queryDefinition
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   18     1  queryDefinition  Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
            0   18     2       resultType  Ljava/lang/Class<TT;>;
            7   18     3            query  Lorg/hibernate/query/internal/NativeQueryImpl;
    Signature: <T:Ljava/lang/Object;>(Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;Ljava/lang/Class<TT;>;)Lorg/hibernate/query/spi/NativeQueryImplementor;
    MethodParameters:
                 Name  Flags
      queryDefinition  
      resultType       

  protected void resultClassChecking(java.lang.Class, org.hibernate.engine.spi.NamedSQLQueryDefinition);
    descriptor: (Ljava/lang/Class;Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.Class resultType
        start local 2 // org.hibernate.engine.spi.NamedSQLQueryDefinition namedQueryDefinition
         0: .line 857
            aload 2 /* namedQueryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getQueryReturns:()[Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
            ifnull 3
         1: .line 858
            aload 2 /* namedQueryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getQueryReturns:()[Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
            astore 3 /* queryReturns */
        start local 3 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] queryReturns
         2: .line 859
            goto 8
        end local 3 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] queryReturns
         3: .line 860
      StackMap locals:
      StackMap stack:
            aload 2 /* namedQueryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getResultSetRef:()Ljava/lang/String;
            ifnull 7
         4: .line 861
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getNamedQueryRepository:()Lorg/hibernate/query/spi/NamedQueryRepository;
            aload 2 /* namedQueryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getResultSetRef:()Ljava/lang/String;
            invokevirtual org.hibernate.query.spi.NamedQueryRepository.getResultSetMappingDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/ResultSetMappingDefinition;
            astore 4 /* rsMapping */
        start local 4 // org.hibernate.engine.ResultSetMappingDefinition rsMapping
         5: .line 862
            aload 4 /* rsMapping */
            invokevirtual org.hibernate.engine.ResultSetMappingDefinition.getQueryReturns:()[Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
            astore 3 /* queryReturns */
        end local 4 // org.hibernate.engine.ResultSetMappingDefinition rsMapping
        start local 3 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] queryReturns
         6: .line 863
            goto 8
        end local 3 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] queryReturns
         7: .line 865
      StackMap locals:
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
            ldc "Unsupported named query model. Please report the bug in Hibernate EntityManager"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] queryReturns
         8: .line 868
      StackMap locals: org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[]
      StackMap stack:
            aload 3 /* queryReturns */
            arraylength
            iconst_1
            if_icmple 10
         9: .line 869
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot create TypedQuery for query with more than one return"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 872
      StackMap locals:
      StackMap stack:
            aload 3 /* queryReturns */
            iconst_0
            aaload
            astore 4 /* nativeSQLQueryReturn */
        start local 4 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn nativeSQLQueryReturn
        11: .line 874
            aload 4 /* nativeSQLQueryReturn */
            instanceof org.hibernate.engine.query.spi.sql.NativeSQLQueryRootReturn
            ifeq 23
        12: .line 876
            aload 4 /* nativeSQLQueryReturn */
            checkcast org.hibernate.engine.query.spi.sql.NativeSQLQueryRootReturn
            invokevirtual org.hibernate.engine.query.spi.sql.NativeSQLQueryRootReturn.getReturnEntityName:()Ljava/lang/String;
            astore 6 /* entityClassName */
        start local 6 // java.lang.String entityClassName
        13: .line 878
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            ldc Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.boot.registry.classloading.spi.ClassLoaderService
            aload 6 /* entityClassName */
            invokeinterface org.hibernate.boot.registry.classloading.spi.ClassLoaderService.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* actualReturnedClass */
        start local 5 // java.lang.Class actualReturnedClass
        14: .line 879
            goto 21
        end local 5 // java.lang.Class actualReturnedClass
        15: .line 880
      StackMap locals: org.hibernate.internal.AbstractSharedSessionContract java.lang.Class org.hibernate.engine.spi.NamedSQLQueryDefinition org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn top java.lang.String
      StackMap stack: org.hibernate.boot.registry.classloading.spi.ClassLoadingException
            pop
        16: .line 881
            new org.hibernate.AssertionFailure
            dup
        17: .line 882
            new java.lang.StringBuilder
            dup
            ldc "Unable to load class ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* entityClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] declared on named native query ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 883
            aload 2 /* namedQueryDefinition */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getName:()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;
        19: .line 882
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 881
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        start local 5 // java.lang.Class actualReturnedClass
        21: .line 886
      StackMap locals: org.hibernate.internal.AbstractSharedSessionContract java.lang.Class org.hibernate.engine.spi.NamedSQLQueryDefinition org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn java.lang.Class java.lang.String
      StackMap stack:
            aload 1 /* resultType */
            aload 5 /* actualReturnedClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 28
        22: .line 887
            aload 0 /* this */
            aload 1 /* resultType */
            aload 5 /* actualReturnedClass */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.buildIncompatibleException:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/IllegalArgumentException;
            athrow
        end local 6 // java.lang.String entityClassName
        end local 5 // java.lang.Class actualReturnedClass
        23: .line 890
      StackMap locals:
      StackMap stack:
            aload 4 /* nativeSQLQueryReturn */
            instanceof org.hibernate.engine.query.spi.sql.NativeSQLQueryConstructorReturn
            ifeq 27
        24: .line 891
            aload 4 /* nativeSQLQueryReturn */
            checkcast org.hibernate.engine.query.spi.sql.NativeSQLQueryConstructorReturn
            astore 5 /* ctorRtn */
        start local 5 // org.hibernate.engine.query.spi.sql.NativeSQLQueryConstructorReturn ctorRtn
        25: .line 892
            aload 1 /* resultType */
            aload 5 /* ctorRtn */
            invokevirtual org.hibernate.engine.query.spi.sql.NativeSQLQueryConstructorReturn.getTargetClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 28
        26: .line 893
            aload 0 /* this */
            aload 1 /* resultType */
            aload 5 /* ctorRtn */
            invokevirtual org.hibernate.engine.query.spi.sql.NativeSQLQueryConstructorReturn.getTargetClass:()Ljava/lang/Class;
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.buildIncompatibleException:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/IllegalArgumentException;
            athrow
        end local 5 // org.hibernate.engine.query.spi.sql.NativeSQLQueryConstructorReturn ctorRtn
        27: .line 897
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.AbstractSharedSessionContract.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Skiping unhandled NativeSQLQueryReturn type : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* nativeSQLQueryReturn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.debugf:(Ljava/lang/String;[Ljava/lang/Object;)V
        28: .line 899
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn nativeSQLQueryReturn
        end local 3 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] queryReturns
        end local 2 // org.hibernate.engine.spi.NamedSQLQueryDefinition namedQueryDefinition
        end local 1 // java.lang.Class resultType
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   29     0                  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   29     1            resultType  Ljava/lang/Class;
            0   29     2  namedQueryDefinition  Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
            2    3     3          queryReturns  [Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
            6    7     3          queryReturns  [Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
            8   29     3          queryReturns  [Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
            5    6     4             rsMapping  Lorg/hibernate/engine/ResultSetMappingDefinition;
           11   29     4  nativeSQLQueryReturn  Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
           14   15     5   actualReturnedClass  Ljava/lang/Class<*>;
           21   23     5   actualReturnedClass  Ljava/lang/Class<*>;
           13   23     6       entityClassName  Ljava/lang/String;
           25   27     5               ctorRtn  Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryConstructorReturn;
      Exception table:
        from    to  target  type
          13    14      15  Class org.hibernate.boot.registry.classloading.spi.ClassLoadingException
    MethodParameters:
                      Name  Flags
      resultType            
      namedQueryDefinition  

  private java.lang.IllegalArgumentException buildIncompatibleException(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/IllegalArgumentException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.Class resultClass
        start local 2 // java.lang.Class actualResultClass
         0: .line 902
            new java.lang.IllegalArgumentException
            dup
         1: .line 903
            new java.lang.StringBuilder
            dup
            ldc "Type specified for TypedQuery ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resultClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 904
            ldc "] is incompatible with query return type ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* actualResultClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 903
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 902
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.Class actualResultClass
        end local 1 // java.lang.Class resultClass
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    5     1        resultClass  Ljava/lang/Class<*>;
            0    5     2  actualResultClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/IllegalArgumentException;
    MethodParameters:
                   Name  Flags
      resultClass        
      actualResultClass  

  public <R> org.hibernate.query.spi.QueryImplementor<R> createNamedQuery(java.lang.String, java.lang.Class<R>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/spi/QueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class resultClass
         0: .line 910
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* resultClass */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.buildQueryFromName:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/spi/QueryImplementor;
            areturn
        end local 2 // java.lang.Class resultClass
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1         name  Ljava/lang/String;
            0    1     2  resultClass  Ljava/lang/Class<TR;>;
    Signature: <R:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TR;>;)Lorg/hibernate/query/spi/QueryImplementor<TR;>;
    MethodParameters:
             Name  Flags
      name         
      resultClass  

  public org.hibernate.query.spi.NativeQueryImplementor createNativeQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String sqlString
         0: .line 915
            aload 0 /* this */
            aload 1 /* sqlString */
            iconst_0
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getNativeQueryImplementor:(Ljava/lang/String;Z)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
        end local 1 // java.lang.String sqlString
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1  sqlString  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      sqlString  

  public org.hibernate.query.spi.NativeQueryImplementor createNativeQuery(java.lang.String, java.lang.Class);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/spi/NativeQueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String sqlString
        start local 2 // java.lang.Class resultClass
         0: .line 920
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 921
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkTransactionSynchStatus:()V
         2: .line 922
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.delayedAfterCompletion:()V
         3: .line 925
            aload 0 /* this */
            aload 1 /* sqlString */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createNativeQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            astore 3 /* query */
        start local 3 // org.hibernate.query.spi.NativeQueryImplementor query
         4: .line 926
            aload 0 /* this */
            aload 3 /* query */
            aload 2 /* resultClass */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.handleNativeQueryResult:(Lorg/hibernate/query/spi/NativeQueryImplementor;Ljava/lang/Class;)V
         5: .line 927
            aload 3 /* query */
         6: areturn
        end local 3 // org.hibernate.query.spi.NativeQueryImplementor query
         7: .line 929
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 3 /* he */
        start local 3 // java.lang.RuntimeException he
         8: .line 930
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
            aload 3 /* he */
            invokeinterface org.hibernate.engine.spi.ExceptionConverter.convert:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.RuntimeException he
        end local 2 // java.lang.Class resultClass
        end local 1 // java.lang.String sqlString
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    9     1    sqlString  Ljava/lang/String;
            0    9     2  resultClass  Ljava/lang/Class;
            4    7     3        query  Lorg/hibernate/query/spi/NativeQueryImplementor;
            8    9     3           he  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.RuntimeException
    MethodParameters:
             Name  Flags
      sqlString    
      resultClass  

  private void handleNativeQueryResult(org.hibernate.query.spi.NativeQueryImplementor, java.lang.Class);
    descriptor: (Lorg/hibernate/query/spi/NativeQueryImplementor;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.query.spi.NativeQueryImplementor query
        start local 2 // java.lang.Class resultClass
         0: .line 935
            ldc Ljavax/persistence/Tuple;
            aload 2 /* resultClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 936
            aload 1 /* query */
            new org.hibernate.jpa.spi.NativeQueryTupleTransformer
            dup
            invokespecial org.hibernate.jpa.spi.NativeQueryTupleTransformer.<init>:()V
            invokeinterface org.hibernate.query.spi.NativeQueryImplementor.setResultTransformer:(Lorg/hibernate/transform/ResultTransformer;)Lorg/hibernate/query/Query;
            pop
         2: .line 937
            goto 4
         3: .line 939
      StackMap locals:
      StackMap stack:
            aload 1 /* query */
            ldc "alias1"
            aload 2 /* resultClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            getstatic org.hibernate.LockMode.READ:Lorg/hibernate/LockMode;
            invokeinterface org.hibernate.query.spi.NativeQueryImplementor.addEntity:(Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/LockMode;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            pop
         4: .line 941
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Class resultClass
        end local 1 // org.hibernate.query.spi.NativeQueryImplementor query
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    5     1        query  Lorg/hibernate/query/spi/NativeQueryImplementor;
            0    5     2  resultClass  Ljava/lang/Class;
    MethodParameters:
             Name  Flags
      query        
      resultClass  

  public org.hibernate.query.spi.NativeQueryImplementor createNativeQuery(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String sqlString
        start local 2 // java.lang.String resultSetMapping
         0: .line 945
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 946
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkTransactionSynchStatus:()V
         2: .line 947
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.delayedAfterCompletion:()V
         3: .line 950
            aload 0 /* this */
            aload 1 /* sqlString */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createNativeQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            astore 3 /* query */
        start local 3 // org.hibernate.query.spi.NativeQueryImplementor query
         4: .line 951
            aload 3 /* query */
            aload 2 /* resultSetMapping */
            invokeinterface org.hibernate.query.spi.NativeQueryImplementor.setResultSetMapping:(Ljava/lang/String;)Lorg/hibernate/query/NativeQuery;
            pop
         5: .line 952
            aload 3 /* query */
         6: areturn
        end local 3 // org.hibernate.query.spi.NativeQueryImplementor query
         7: .line 954
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 3 /* he */
        start local 3 // java.lang.RuntimeException he
         8: .line 955
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
            aload 3 /* he */
            invokeinterface org.hibernate.engine.spi.ExceptionConverter.convert:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.RuntimeException he
        end local 2 // java.lang.String resultSetMapping
        end local 1 // java.lang.String sqlString
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    9     1         sqlString  Ljava/lang/String;
            0    9     2  resultSetMapping  Ljava/lang/String;
            4    7     3             query  Lorg/hibernate/query/spi/NativeQueryImplementor;
            8    9     3                he  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.RuntimeException
    MethodParameters:
                  Name  Flags
      sqlString         
      resultSetMapping  

  public org.hibernate.query.spi.NativeQueryImplementor getNamedNativeQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String name
         0: .line 961
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 962
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkTransactionSynchStatus:()V
         2: .line 963
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.delayedAfterCompletion:()V
         3: .line 965
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getNamedQueryRepository:()Lorg/hibernate/query/spi/NamedQueryRepository;
            aload 1 /* name */
            invokevirtual org.hibernate.query.spi.NamedQueryRepository.getNamedSQLQueryDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
            astore 2 /* nativeQueryDefinition */
        start local 2 // org.hibernate.engine.spi.NamedSQLQueryDefinition nativeQueryDefinition
         4: .line 966
            aload 2 /* nativeQueryDefinition */
            ifnull 6
         5: .line 967
            aload 0 /* this */
            aload 2 /* nativeQueryDefinition */
            iconst_1
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createNativeQuery:(Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;Z)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
         6: .line 970
      StackMap locals: org.hibernate.engine.spi.NamedSQLQueryDefinition
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No query defined for that name ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            invokeinterface org.hibernate.engine.spi.ExceptionConverter.convert:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // org.hibernate.engine.spi.NamedSQLQueryDefinition nativeQueryDefinition
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    7     1                   name  Ljava/lang/String;
            4    7     2  nativeQueryDefinition  Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
    MethodParameters:
      Name  Flags
      name  

  public org.hibernate.query.spi.NativeQueryImplementor createSQLQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String queryString
         0: .line 975
            aload 0 /* this */
            aload 1 /* queryString */
            iconst_1
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getNativeQueryImplementor:(Ljava/lang/String;Z)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
        end local 1 // java.lang.String queryString
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1  queryString  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      queryString  

  protected org.hibernate.query.spi.NativeQueryImplementor getNativeQueryImplementor(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/hibernate/query/spi/NativeQueryImplementor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String queryString
        start local 2 // boolean isOrdinalParameterZeroBased
         0: .line 981
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 982
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkTransactionSynchStatus:()V
         2: .line 983
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.delayedAfterCompletion:()V
         3: .line 986
            new org.hibernate.query.internal.NativeQueryImpl
            dup
         4: .line 987
            aload 1 /* queryString */
         5: .line 988
            iconst_0
         6: .line 989
            aload 0 /* this */
         7: .line 990
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getQueryPlanCache:()Lorg/hibernate/engine/query/spi/QueryPlanCache;
            aload 1 /* queryString */
            iload 2 /* isOrdinalParameterZeroBased */
            invokevirtual org.hibernate.engine.query.spi.QueryPlanCache.getSQLParameterMetadata:(Ljava/lang/String;Z)Lorg/hibernate/query/ParameterMetadata;
         8: .line 986
            invokespecial org.hibernate.query.internal.NativeQueryImpl.<init>:(Ljava/lang/String;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/query/ParameterMetadata;)V
            astore 3 /* query */
        start local 3 // org.hibernate.query.internal.NativeQueryImpl query
         9: .line 992
            aload 3 /* query */
            ldc "dynamic native SQL query"
            invokevirtual org.hibernate.query.internal.NativeQueryImpl.setComment:(Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            pop
        10: .line 993
            aload 3 /* query */
        11: areturn
        end local 3 // org.hibernate.query.internal.NativeQueryImpl query
        12: .line 995
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 3 /* he */
        start local 3 // java.lang.RuntimeException he
        13: .line 996
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
            aload 3 /* he */
            invokeinterface org.hibernate.engine.spi.ExceptionConverter.convert:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.RuntimeException he
        end local 2 // boolean isOrdinalParameterZeroBased
        end local 1 // java.lang.String queryString
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   14     0                         this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   14     1                  queryString  Ljava/lang/String;
            0   14     2  isOrdinalParameterZeroBased  Z
            9   12     3                        query  Lorg/hibernate/query/internal/NativeQueryImpl;
           13   14     3                           he  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           3    11      12  Class java.lang.RuntimeException
    MethodParameters:
                             Name  Flags
      queryString                  
      isOrdinalParameterZeroBased  

  public org.hibernate.query.spi.NativeQueryImplementor getNamedSQLQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String name
         0: .line 1003
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getNamedNativeQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.hibernate.procedure.ProcedureCall getNamedProcedureCall(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/procedure/ProcedureCall;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String name
         0: .line 1009
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 1011
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getNamedQueryRepository:()Lorg/hibernate/query/spi/NamedQueryRepository;
            aload 1 /* name */
            invokevirtual org.hibernate.query.spi.NamedQueryRepository.getNamedProcedureCallMemento:(Ljava/lang/String;)Lorg/hibernate/procedure/ProcedureCallMemento;
            astore 2 /* memento */
        start local 2 // org.hibernate.procedure.ProcedureCallMemento memento
         2: .line 1012
            aload 2 /* memento */
            ifnonnull 6
         3: .line 1013
            new java.lang.IllegalArgumentException
            dup
         4: .line 1014
            new java.lang.StringBuilder
            dup
            ldc "Could not find named stored procedure call with that registration name : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 1013
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1017
      StackMap locals: org.hibernate.procedure.ProcedureCallMemento
      StackMap stack:
            aload 2 /* memento */
            aload 0 /* this */
            invokeinterface org.hibernate.procedure.ProcedureCallMemento.makeProcedureCall:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/procedure/ProcedureCall;
            astore 3 /* procedureCall */
        start local 3 // org.hibernate.procedure.ProcedureCall procedureCall
         7: .line 1019
            aload 3 /* procedureCall */
            areturn
        end local 3 // org.hibernate.procedure.ProcedureCall procedureCall
        end local 2 // org.hibernate.procedure.ProcedureCallMemento memento
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    8     1           name  Ljava/lang/String;
            2    8     2        memento  Lorg/hibernate/procedure/ProcedureCallMemento;
            7    8     3  procedureCall  Lorg/hibernate/procedure/ProcedureCall;
    MethodParameters:
      Name  Flags
      name  

  public org.hibernate.procedure.ProcedureCall createStoredProcedureCall(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/procedure/ProcedureCall;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String procedureName
         0: .line 1025
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 1026
            new org.hibernate.procedure.internal.ProcedureCallImpl
            dup
            aload 0 /* this */
            aload 1 /* procedureName */
            invokespecial org.hibernate.procedure.internal.ProcedureCallImpl.<init>:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/String;)V
            astore 2 /* procedureCall */
        start local 2 // org.hibernate.procedure.ProcedureCall procedureCall
         2: .line 1028
            aload 2 /* procedureCall */
            areturn
        end local 2 // org.hibernate.procedure.ProcedureCall procedureCall
        end local 1 // java.lang.String procedureName
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    3     1  procedureName  Ljava/lang/String;
            2    3     2  procedureCall  Lorg/hibernate/procedure/ProcedureCall;
    MethodParameters:
               Name  Flags
      procedureName  

  public org.hibernate.procedure.ProcedureCall createStoredProcedureCall(java.lang.String, java.lang.Class[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Lorg/hibernate/procedure/ProcedureCall;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String procedureName
        start local 2 // java.lang.Class[] resultClasses
         0: .line 1034
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 1035
            new org.hibernate.procedure.internal.ProcedureCallImpl
            dup
            aload 0 /* this */
            aload 1 /* procedureName */
            aload 2 /* resultClasses */
            invokespecial org.hibernate.procedure.internal.ProcedureCallImpl.<init>:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/String;[Ljava/lang/Class;)V
            astore 3 /* procedureCall */
        start local 3 // org.hibernate.procedure.ProcedureCall procedureCall
         2: .line 1037
            aload 3 /* procedureCall */
            areturn
        end local 3 // org.hibernate.procedure.ProcedureCall procedureCall
        end local 2 // java.lang.Class[] resultClasses
        end local 1 // java.lang.String procedureName
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    3     1  procedureName  Ljava/lang/String;
            0    3     2  resultClasses  [Ljava/lang/Class;
            2    3     3  procedureCall  Lorg/hibernate/procedure/ProcedureCall;
    MethodParameters:
               Name  Flags
      procedureName  
      resultClasses  

  public org.hibernate.procedure.ProcedureCall createStoredProcedureCall(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Lorg/hibernate/procedure/ProcedureCall;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.String procedureName
        start local 2 // java.lang.String[] resultSetMappings
         0: .line 1043
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.checkOpen:()V
         1: .line 1044
            new org.hibernate.procedure.internal.ProcedureCallImpl
            dup
            aload 0 /* this */
            aload 1 /* procedureName */
            aload 2 /* resultSetMappings */
            invokespecial org.hibernate.procedure.internal.ProcedureCallImpl.<init>:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/String;[Ljava/lang/String;)V
            astore 3 /* procedureCall */
        start local 3 // org.hibernate.procedure.ProcedureCall procedureCall
         2: .line 1046
            aload 3 /* procedureCall */
            areturn
        end local 3 // org.hibernate.procedure.ProcedureCall procedureCall
        end local 2 // java.lang.String[] resultSetMappings
        end local 1 // java.lang.String procedureName
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    3     1      procedureName  Ljava/lang/String;
            0    3     2  resultSetMappings  [Ljava/lang/String;
            2    3     3      procedureCall  Lorg/hibernate/procedure/ProcedureCall;
    MethodParameters:
                   Name  Flags
      procedureName      
      resultSetMappings  

  protected abstract java.lang.Object load(java.lang.String, java.io.Serializable);
    descriptor: (Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  
      identifier  

  public java.util.List list(org.hibernate.engine.query.spi.sql.NativeSQLQuerySpecification, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/query/spi/sql/NativeSQLQuerySpecification;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.engine.query.spi.sql.NativeSQLQuerySpecification spec
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 1053
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* spec */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getNativeQueryPlan:(Lorg/hibernate/engine/query/spi/sql/NativeSQLQuerySpecification;)Lorg/hibernate/engine/query/spi/NativeSQLQueryPlan;
            invokevirtual org.hibernate.engine.query.spi.NativeSQLQueryPlan.getCustomQuery:()Lorg/hibernate/loader/custom/CustomQuery;
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.listCustomQuery:(Lorg/hibernate/loader/custom/CustomQuery;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List;
            areturn
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.query.spi.sql.NativeSQLQuerySpecification spec
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1             spec  Lorg/hibernate/engine/query/spi/sql/NativeSQLQuerySpecification;
            0    1     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
                 Name  Flags
      spec             
      queryParameters  

  public org.hibernate.query.spi.ScrollableResultsImplementor scroll(org.hibernate.engine.query.spi.sql.NativeSQLQuerySpecification, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/query/spi/sql/NativeSQLQuerySpecification;Lorg/hibernate/engine/spi/QueryParameters;)Lorg/hibernate/query/spi/ScrollableResultsImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // org.hibernate.engine.query.spi.sql.NativeSQLQuerySpecification spec
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 1058
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* spec */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getNativeQueryPlan:(Lorg/hibernate/engine/query/spi/sql/NativeSQLQuerySpecification;)Lorg/hibernate/engine/query/spi/NativeSQLQueryPlan;
            invokevirtual org.hibernate.engine.query.spi.NativeSQLQueryPlan.getCustomQuery:()Lorg/hibernate/loader/custom/CustomQuery;
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.scrollCustomQuery:(Lorg/hibernate/loader/custom/CustomQuery;Lorg/hibernate/engine/spi/QueryParameters;)Lorg/hibernate/query/spi/ScrollableResultsImplementor;
            areturn
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.query.spi.sql.NativeSQLQuerySpecification spec
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    1     1             spec  Lorg/hibernate/engine/query/spi/sql/NativeSQLQuerySpecification;
            0    1     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
                 Name  Flags
      spec             
      queryParameters  

  public org.hibernate.engine.spi.ExceptionConverter getExceptionConverter();
    descriptor: ()Lorg/hibernate/engine/spi/ExceptionConverter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 1063
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public java.lang.Integer getJdbcBatchSize();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
         0: .line 1067
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcBatchSize:Ljava/lang/Integer;
            areturn
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;

  public void setJdbcBatchSize(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.lang.Integer jdbcBatchSize
         0: .line 1072
            aload 0 /* this */
            aload 1 /* jdbcBatchSize */
            putfield org.hibernate.internal.AbstractSharedSessionContract.jdbcBatchSize:Ljava/lang/Integer;
         1: .line 1073
            return
        end local 1 // java.lang.Integer jdbcBatchSize
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    2     1  jdbcBatchSize  Ljava/lang/Integer;
    MethodParameters:
               Name  Flags
      jdbcBatchSize  

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.io.ObjectOutputStream oos
         0: .line 1077
            getstatic org.hibernate.internal.AbstractSharedSessionContract.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.isTraceEnabled:()Z
            ifeq 2
         1: .line 1078
            getstatic org.hibernate.internal.AbstractSharedSessionContract.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Serializing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()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;
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.trace:(Ljava/lang/Object;)V
         2: .line 1082
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.isReadyForSerialization:()Z
            ifne 4
         3: .line 1085
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot serialize "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()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;
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getSessionIdentifier:()Ljava/util/UUID;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] while connected"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1088
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.isTransactionCoordinatorShared:Z
            ifeq 6
         5: .line 1089
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot serialize "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()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;
            aload 0 /* this */
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getSessionIdentifier:()Ljava/util/UUID;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] as it has a shared TransactionCoordinator"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1099
      StackMap locals:
      StackMap stack:
            aload 1 /* oos */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         7: .line 1105
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            aload 1 /* oos */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.serialize:(Ljava/io/ObjectOutputStream;)V
         8: .line 1106
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcSessionContext:Lorg/hibernate/resource/jdbc/spi/JdbcSessionContext;
            invokeinterface org.hibernate.resource.jdbc.spi.JdbcSessionContext.getStatementInspector:()Lorg/hibernate/resource/jdbc/spi/StatementInspector;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         9: .line 1107
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 1 /* oos */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.serialize:(Ljava/io/ObjectOutputStream;)V
        10: .line 1108
            return
        end local 1 // java.io.ObjectOutputStream oos
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   11     1   oos  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oos   

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 1 // java.io.ObjectInputStream ois
         0: .line 1111
            getstatic org.hibernate.internal.AbstractSharedSessionContract.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.isTraceEnabled:()Z
            ifeq 2
         1: .line 1112
            getstatic org.hibernate.internal.AbstractSharedSessionContract.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Deserializing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.trace:(Ljava/lang/Object;)V
         2: .line 1117
      StackMap locals:
      StackMap stack:
            aload 1 /* ois */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         3: .line 1118
            aload 0 /* this */
            new org.hibernate.engine.internal.SessionEventListenerManagerImpl
            dup
            invokespecial org.hibernate.engine.internal.SessionEventListenerManagerImpl.<init>:()V
            putfield org.hibernate.internal.AbstractSharedSessionContract.sessionEventsManager:Lorg/hibernate/engine/internal/SessionEventListenerManagerImpl;
         4: .line 1124
            aload 0 /* this */
            aload 1 /* ois */
            invokestatic org.hibernate.internal.SessionFactoryImpl.deserialize:(Ljava/io/ObjectInputStream;)Lorg/hibernate/internal/SessionFactoryImpl;
            putfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
         5: .line 1125
            aload 0 /* this */
            new org.hibernate.internal.JdbcSessionContextImpl
            dup
            aload 0 /* this */
            aload 1 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast org.hibernate.resource.jdbc.spi.StatementInspector
            invokespecial org.hibernate.internal.JdbcSessionContextImpl.<init>:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/resource/jdbc/spi/StatementInspector;)V
            putfield org.hibernate.internal.AbstractSharedSessionContract.jdbcSessionContext:Lorg/hibernate/resource/jdbc/spi/JdbcSessionContext;
         6: .line 1126
            aload 0 /* this */
            aload 1 /* ois */
            aload 0 /* this */
            invokestatic org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.deserialize:(Ljava/io/ObjectInputStream;Lorg/hibernate/resource/jdbc/spi/JdbcSessionOwner;)Lorg/hibernate/engine/jdbc/internal/JdbcCoordinatorImpl;
            putfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
         7: .line 1128
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getCache:()Lorg/hibernate/cache/spi/CacheImplementor;
            invokeinterface org.hibernate.cache.spi.CacheImplementor.getRegionFactory:()Lorg/hibernate/cache/spi/RegionFactory;
            aload 0 /* this */
            invokeinterface org.hibernate.cache.spi.RegionFactory.createTransactionContext:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
            putfield org.hibernate.internal.AbstractSharedSessionContract.cacheTransactionSync:Lorg/hibernate/cache/spi/CacheTransactionSynchronization;
         8: .line 1130
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
         9: .line 1131
            ldc Lorg/hibernate/resource/transaction/spi/TransactionCoordinatorBuilder;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder
        10: .line 1132
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.jdbcCoordinator:Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 0 /* this */
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder.buildTransactionCoordinator:(Lorg/hibernate/resource/transaction/spi/TransactionCoordinatorOwner;Lorg/hibernate/resource/transaction/spi/TransactionCoordinatorBuilder$Options;)Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
        11: .line 1130
            putfield org.hibernate.internal.AbstractSharedSessionContract.transactionCoordinator:Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
        12: .line 1134
            aload 0 /* this */
            new org.hibernate.internal.CoordinatingEntityNameResolver
            dup
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.factory:Lorg/hibernate/internal/SessionFactoryImpl;
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.interceptor:Lorg/hibernate/Interceptor;
            invokespecial org.hibernate.internal.CoordinatingEntityNameResolver.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/Interceptor;)V
            putfield org.hibernate.internal.AbstractSharedSessionContract.entityNameResolver:Lorg/hibernate/EntityNameResolver;
        13: .line 1135
            aload 0 /* this */
            new org.hibernate.internal.ExceptionConverterImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.ExceptionConverterImpl.<init>:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
            putfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
        14: .line 1136
            return
        end local 1 // java.io.ObjectInputStream ois
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0   15     1   ois  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException, java.sql.SQLException
    MethodParameters:
      Name  Flags
      ois   

  public org.hibernate.query.Query createNamedQuery(java.lang.String, java.lang.Class);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/Query;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Class
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createNamedQuery:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/spi/QueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.query.Query createNamedQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/Query;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createNamedQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/QueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.query.NativeQuery getNamedSQLQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/NativeQuery;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getNamedSQLQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.query.NativeQuery getNamedNativeQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/NativeQuery;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getNamedNativeQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.query.Query createQuery(java.lang.String, java.lang.Class);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/Query;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Class
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createQuery:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/spi/QueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.query.Query createQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/Query;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/QueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.query.NativeQuery createNativeQuery(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/query/NativeQuery;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createNativeQuery:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.query.NativeQuery createNativeQuery(java.lang.String, java.lang.Class);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/NativeQuery;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Class
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createNativeQuery:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.query.NativeQuery createNativeQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/NativeQuery;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createNativeQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.query.Query getNamedQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/Query;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.getNamedQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/QueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.query.NativeQuery createSQLQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/query/NativeQuery;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.internal.AbstractSharedSessionContract.createSQLQuery:(Ljava/lang/String;)Lorg/hibernate/query/spi/NativeQueryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.lang.Object lambda$1(org.hibernate.engine.jdbc.LobCreationContext$Callback, org.hibernate.jdbc.WorkExecutor, java.sql.Connection);
    descriptor: (Lorg/hibernate/engine/jdbc/LobCreationContext$Callback;Lorg/hibernate/jdbc/WorkExecutor;Ljava/sql/Connection;)Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.hibernate.internal.AbstractSharedSessionContract this
        start local 2 // org.hibernate.jdbc.WorkExecutor workExecutor
        start local 3 // java.sql.Connection connection
         0: .line 530
            aload 1
            aload 3 /* connection */
            invokeinterface org.hibernate.engine.jdbc.LobCreationContext$Callback.executeOnConnection:(Ljava/sql/Connection;)Ljava/lang/Object;
         1: areturn
         2: .line 532
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 4 /* e */
        start local 4 // java.sql.SQLException e
         3: .line 533
            aload 0 /* this */
            getfield org.hibernate.internal.AbstractSharedSessionContract.exceptionConverter:Lorg/hibernate/engine/spi/ExceptionConverter;
         4: .line 534
            aload 4 /* e */
         5: .line 535
            new java.lang.StringBuilder
            dup
            ldc "Error creating contextual LOB : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 533
            invokeinterface org.hibernate.engine.spi.ExceptionConverter.convert:(Ljava/sql/SQLException;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 4 // java.sql.SQLException e
        end local 3 // java.sql.Connection connection
        end local 2 // org.hibernate.jdbc.WorkExecutor workExecutor
        end local 0 // org.hibernate.internal.AbstractSharedSessionContract this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/hibernate/internal/AbstractSharedSessionContract;
            0    7     2  workExecutor  Lorg/hibernate/jdbc/WorkExecutor<TT;>;
            0    7     3    connection  Ljava/sql/Connection;
            3    7     4             e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.sql.SQLException
    Exceptions:
      throws java.sql.SQLException

  private static java.lang.Object $deserializeLambda$(java.lang.invoke.SerializedLambda);
    descriptor: (Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getImplMethodName:()Ljava/lang/String;
            astore 1
            iconst_m1
            istore 2
            aload 1
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 1
           1873192999: 1
              default: 2
          }
      StackMap locals: java.lang.String int
      StackMap stack:
         1: aload 1
            ldc "onPrepareStatement"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_0
            istore 2
      StackMap locals:
      StackMap stack:
         2: iload 2
            lookupswitch { // 1
                    0: 3
              default: 4
          }
      StackMap locals:
      StackMap stack:
         3: aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getImplMethodKind:()I
            bipush 9
            if_icmpne 4
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
            ldc "org/hibernate/resource/jdbc/spi/StatementInspector"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
            ldc "inspect"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
            ldc "(Ljava/lang/String;)Ljava/lang/String;"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getImplClass:()Ljava/lang/String;
            ldc "org/hibernate/Interceptor"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
            ldc "(Ljava/lang/String;)Ljava/lang/String;"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0
            iconst_0
            invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
            checkcast org.hibernate.Interceptor
            invokedynamic inspect(Lorg/hibernate/Interceptor;)Lorg/hibernate/resource/jdbc/spi/StatementInspector;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/String;)Ljava/lang/String;
                  org/hibernate/Interceptor.onPrepareStatement(Ljava/lang/String;)Ljava/lang/String; (9 itf)
                  (Ljava/lang/String;)Ljava/lang/String;
                  1
            areturn
      StackMap locals:
      StackMap stack:
         4: new java.lang.IllegalArgumentException
            dup
            ldc "Invalid lambda deserialization"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "AbstractSharedSessionContract.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Callback = org.hibernate.engine.jdbc.LobCreationContext$Callback of org.hibernate.engine.jdbc.LobCreationContext
  public abstract Options = org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder$Options of org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder