public interface org.hibernate.Session extends org.hibernate.SharedSessionContract
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.hibernate.Session
  super_class: java.lang.Object
{
  public abstract org.hibernate.SharedSessionBuilder sessionWithOptions();
    descriptor: ()Lorg/hibernate/SharedSessionBuilder;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void flush();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.HibernateException

  public abstract void setFlushMode(org.hibernate.FlushMode);
    descriptor: (Lorg/hibernate/FlushMode;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      flushMode  

  public abstract org.hibernate.FlushMode getFlushMode();
    descriptor: ()Lorg/hibernate/FlushMode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setCacheMode(org.hibernate.CacheMode);
    descriptor: (Lorg/hibernate/CacheMode;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      cacheMode  

  public abstract org.hibernate.CacheMode getCacheMode();
    descriptor: ()Lorg/hibernate/CacheMode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.SessionFactory getSessionFactory();
    descriptor: ()Lorg/hibernate/SessionFactory;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.sql.Connection close();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.HibernateException

  public abstract void cancelQuery();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.HibernateException

  public abstract boolean isOpen();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isConnected();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isDirty();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.HibernateException

  public abstract boolean isDefaultReadOnly();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setDefaultReadOnly(boolean);
    descriptor: (Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      readOnly  

  public abstract java.io.Serializable getIdentifier(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/io/Serializable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract boolean contains(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract void evict(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract java.lang.Object load(java.lang.Class, java.io.Serializable, org.hibernate.LockMode);
    descriptor: (Ljava/lang/Class;Ljava/io/Serializable;Lorg/hibernate/LockMode;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      theClass  
      id        
      lockMode  

  public abstract java.lang.Object load(java.lang.Class, java.io.Serializable, org.hibernate.LockOptions);
    descriptor: (Ljava/lang/Class;Ljava/io/Serializable;Lorg/hibernate/LockOptions;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      theClass     
      id           
      lockOptions  

  public abstract java.lang.Object load(java.lang.String, java.io.Serializable, org.hibernate.LockMode);
    descriptor: (Ljava/lang/String;Ljava/io/Serializable;Lorg/hibernate/LockMode;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      entityName  
      id          
      lockMode    

  public abstract java.lang.Object load(java.lang.String, java.io.Serializable, org.hibernate.LockOptions);
    descriptor: (Ljava/lang/String;Ljava/io/Serializable;Lorg/hibernate/LockOptions;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      entityName   
      id           
      lockOptions  

  public abstract java.lang.Object load(java.lang.Class, java.io.Serializable);
    descriptor: (Ljava/lang/Class;Ljava/io/Serializable;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      theClass  
      id        

  public abstract java.lang.Object load(java.lang.String, java.io.Serializable);
    descriptor: (Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  
      id          

  public abstract void load(java.lang.Object, java.io.Serializable);
    descriptor: (Ljava/lang/Object;Ljava/io/Serializable;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  
      id      

  public abstract void replicate(java.lang.Object, org.hibernate.ReplicationMode);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/ReplicationMode;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      object           
      replicationMode  

  public abstract void replicate(java.lang.String, java.lang.Object, org.hibernate.ReplicationMode);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/ReplicationMode;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      entityName       
      object           
      replicationMode  

  public abstract java.io.Serializable save(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/io/Serializable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract java.io.Serializable save(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/io/Serializable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  
      object      

  public abstract void saveOrUpdate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract void saveOrUpdate(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  
      object      

  public abstract void update(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract void update(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  
      object      

  public abstract java.lang.Object merge(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract java.lang.Object merge(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  
      object      

  public abstract void persist(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract void persist(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  
      object      

  public abstract void delete(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract void delete(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  
      object      

  public abstract void lock(java.lang.Object, org.hibernate.LockMode);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/LockMode;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      object    
      lockMode  

  public abstract void lock(java.lang.String, java.lang.Object, org.hibernate.LockMode);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/LockMode;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      entityName  
      object      
      lockMode    

  public abstract org.hibernate.Session$LockRequest buildLockRequest(org.hibernate.LockOptions);
    descriptor: (Lorg/hibernate/LockOptions;)Lorg/hibernate/Session$LockRequest;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      lockOptions  

  public abstract void refresh(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract void refresh(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  
      object      

  public abstract void refresh(java.lang.Object, org.hibernate.LockMode);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/LockMode;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      object    
      lockMode  

  public abstract void refresh(java.lang.Object, org.hibernate.LockOptions);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/LockOptions;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      object       
      lockOptions  

  public abstract void refresh(java.lang.String, java.lang.Object, org.hibernate.LockOptions);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/LockOptions;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      entityName   
      object       
      lockOptions  

  public abstract org.hibernate.LockMode getCurrentLockMode(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/hibernate/LockMode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract org.hibernate.Query createFilter(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Lorg/hibernate/Query;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      collection   
      queryString  

  public abstract void clear();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Object get(java.lang.Class, java.io.Serializable);
    descriptor: (Ljava/lang/Class;Ljava/io/Serializable;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      clazz  
      id     

  public abstract java.lang.Object get(java.lang.Class, java.io.Serializable, org.hibernate.LockMode);
    descriptor: (Ljava/lang/Class;Ljava/io/Serializable;Lorg/hibernate/LockMode;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      clazz     
      id        
      lockMode  

  public abstract java.lang.Object get(java.lang.Class, java.io.Serializable, org.hibernate.LockOptions);
    descriptor: (Ljava/lang/Class;Ljava/io/Serializable;Lorg/hibernate/LockOptions;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      clazz        
      id           
      lockOptions  

  public abstract java.lang.Object get(java.lang.String, java.io.Serializable);
    descriptor: (Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  
      id          

  public abstract java.lang.Object get(java.lang.String, java.io.Serializable, org.hibernate.LockMode);
    descriptor: (Ljava/lang/String;Ljava/io/Serializable;Lorg/hibernate/LockMode;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      entityName  
      id          
      lockMode    

  public abstract java.lang.Object get(java.lang.String, java.io.Serializable, org.hibernate.LockOptions);
    descriptor: (Ljava/lang/String;Ljava/io/Serializable;Lorg/hibernate/LockOptions;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      entityName   
      id           
      lockOptions  

  public abstract java.lang.String getEntityName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      object  

  public abstract org.hibernate.IdentifierLoadAccess byId(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/IdentifierLoadAccess;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  

  public abstract org.hibernate.IdentifierLoadAccess byId(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/IdentifierLoadAccess;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      entityClass  

  public abstract org.hibernate.NaturalIdLoadAccess byNaturalId(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/NaturalIdLoadAccess;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  

  public abstract org.hibernate.NaturalIdLoadAccess byNaturalId(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/NaturalIdLoadAccess;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      entityClass  

  public abstract org.hibernate.SimpleNaturalIdLoadAccess bySimpleNaturalId(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/SimpleNaturalIdLoadAccess;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      entityName  

  public abstract org.hibernate.SimpleNaturalIdLoadAccess bySimpleNaturalId(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/SimpleNaturalIdLoadAccess;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      entityClass  

  public abstract org.hibernate.Filter enableFilter(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/Filter;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      filterName  

  public abstract org.hibernate.Filter getEnabledFilter(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/Filter;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      filterName  

  public abstract void disableFilter(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      filterName  

  public abstract org.hibernate.stat.SessionStatistics getStatistics();
    descriptor: ()Lorg/hibernate/stat/SessionStatistics;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isReadOnly(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      entityOrProxy  

  public abstract void setReadOnly(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      entityOrProxy  
      readOnly       

  public abstract void doWork(org.hibernate.jdbc.Work);
    descriptor: (Lorg/hibernate/jdbc/Work;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
      Name  Flags
      work  

  public abstract <T> T doReturningWork(org.hibernate.jdbc.ReturningWork<T>);
    descriptor: (Lorg/hibernate/jdbc/ReturningWork;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: <T:Ljava/lang/Object;>(Lorg/hibernate/jdbc/ReturningWork<TT;>;)TT;
    MethodParameters:
      Name  Flags
      work  

  public abstract java.sql.Connection disconnect();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void reconnect(java.sql.Connection);
    descriptor: (Ljava/sql/Connection;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      connection  

  public abstract boolean isFetchProfileEnabled(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.UnknownProfileException
    MethodParameters:
      Name  Flags
      name  

  public abstract void enableFetchProfile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.UnknownProfileException
    MethodParameters:
      Name  Flags
      name  

  public abstract void disableFetchProfile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.UnknownProfileException
    MethodParameters:
      Name  Flags
      name  

  public abstract org.hibernate.TypeHelper getTypeHelper();
    descriptor: ()Lorg/hibernate/TypeHelper;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.LobHelper getLobHelper();
    descriptor: ()Lorg/hibernate/LobHelper;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void addEventListeners(org.hibernate.SessionEventListener[]);
    descriptor: ([Lorg/hibernate/SessionEventListener;)V
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      listeners  
}
SourceFile: "Session.java"
NestMembers:
  org.hibernate.Session$LockRequest
InnerClasses:
  public abstract LockRequest = org.hibernate.Session$LockRequest of org.hibernate.Session