public class org.springframework.orm.hibernate5.SpringJtaSessionContext extends org.hibernate.context.internal.JTASessionContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.orm.hibernate5.SpringJtaSessionContext
  super_class: org.hibernate.context.internal.JTASessionContext
{
  public void <init>(org.hibernate.engine.spi.SessionFactoryImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.orm.hibernate5.SpringJtaSessionContext this
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor factory
         0: .line 37
            aload 0 /* this */
            aload 1 /* factory */
            invokespecial org.hibernate.context.internal.JTASessionContext.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
         1: .line 38
            return
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 0 // org.springframework.orm.hibernate5.SpringJtaSessionContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/springframework/orm/hibernate5/SpringJtaSessionContext;
            0    2     1  factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    MethodParameters:
         Name  Flags
      factory  

  protected org.hibernate.Session buildOrObtainSession();
    descriptor: ()Lorg/hibernate/Session;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.springframework.orm.hibernate5.SpringJtaSessionContext this
         0: .line 43
            aload 0 /* this */
            invokespecial org.hibernate.context.internal.JTASessionContext.buildOrObtainSession:()Lorg/hibernate/Session;
            astore 1 /* session */
        start local 1 // org.hibernate.Session session
         1: .line 44
            invokestatic org.springframework.transaction.support.TransactionSynchronizationManager.isCurrentTransactionReadOnly:()Z
            ifeq 3
         2: .line 45
            aload 1 /* session */
            getstatic org.hibernate.FlushMode.MANUAL:Lorg/hibernate/FlushMode;
            invokeinterface org.hibernate.Session.setFlushMode:(Lorg/hibernate/FlushMode;)V
         3: .line 47
      StackMap locals: org.hibernate.Session
      StackMap stack:
            aload 1 /* session */
            areturn
        end local 1 // org.hibernate.Session session
        end local 0 // org.springframework.orm.hibernate5.SpringJtaSessionContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/springframework/orm/hibernate5/SpringJtaSessionContext;
            1    4     1  session  Lorg/hibernate/Session;
}
SourceFile: "SpringJtaSessionContext.java"