Package org.hibernate

Interface StatelessSession

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable, QueryProducer, java.io.Serializable, SharedSessionContract

    public interface StatelessSession
    extends SharedSessionContract, java.lang.AutoCloseable, java.io.Closeable
    A command-oriented API for performing bulk operations against a database.

    A stateless session does not implement a first-level cache nor interact with any second-level cache, nor does it implement transactional write-behind or automatic dirty checking, nor do operations cascade to associated instances. Collections are ignored by a stateless session. Operations performed via a stateless session bypass Hibernate's event model and interceptors. Stateless sessions are vulnerable to data aliasing effects, due to the lack of a first-level cache.

    For certain kinds of transactions, a stateless session may perform slightly faster than a stateful session.

    • Method Detail

      • close

        void close()
        Close the stateless session and release the JDBC connection.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface SharedSessionContract
      • insert

        java.io.Serializable insert​(java.lang.Object entity)
        Insert a row.
        Parameters:
        entity - a new transient instance
        Returns:
        The identifier of the inserted entity
      • insert

        java.io.Serializable insert​(java.lang.String entityName,
                                    java.lang.Object entity)
        Insert a row.
        Parameters:
        entityName - The entityName for the entity to be inserted
        entity - a new transient instance
        Returns:
        the identifier of the instance
      • update

        void update​(java.lang.Object entity)
        Update a row.
        Parameters:
        entity - a detached entity instance
      • update

        void update​(java.lang.String entityName,
                    java.lang.Object entity)
        Update a row.
        Parameters:
        entityName - The entityName for the entity to be updated
        entity - a detached entity instance
      • delete

        void delete​(java.lang.Object entity)
        Delete a row.
        Parameters:
        entity - a detached entity instance
      • delete

        void delete​(java.lang.String entityName,
                    java.lang.Object entity)
        Delete a row.
        Parameters:
        entityName - The entityName for the entity to be deleted
        entity - a detached entity instance
      • get

        java.lang.Object get​(java.lang.String entityName,
                             java.io.Serializable id)
        Retrieve a row.
        Parameters:
        entityName - The name of the entity to retrieve
        id - The id of the entity to retrieve
        Returns:
        a detached entity instance
      • get

        java.lang.Object get​(java.lang.Class entityClass,
                             java.io.Serializable id)
        Retrieve a row.
        Parameters:
        entityClass - The class of the entity to retrieve
        id - The id of the entity to retrieve
        Returns:
        a detached entity instance
      • get

        java.lang.Object get​(java.lang.String entityName,
                             java.io.Serializable id,
                             LockMode lockMode)
        Retrieve a row, obtaining the specified lock mode.
        Parameters:
        entityName - The name of the entity to retrieve
        id - The id of the entity to retrieve
        lockMode - The lock mode to apply to the entity
        Returns:
        a detached entity instance
      • get

        java.lang.Object get​(java.lang.Class entityClass,
                             java.io.Serializable id,
                             LockMode lockMode)
        Retrieve a row, obtaining the specified lock mode.
        Parameters:
        entityClass - The class of the entity to retrieve
        id - The id of the entity to retrieve
        lockMode - The lock mode to apply to the entity
        Returns:
        a detached entity instance
      • refresh

        void refresh​(java.lang.Object entity)
        Refresh the entity instance state from the database.
        Parameters:
        entity - The entity to be refreshed.
      • refresh

        void refresh​(java.lang.String entityName,
                     java.lang.Object entity)
        Refresh the entity instance state from the database.
        Parameters:
        entityName - The entityName for the entity to be refreshed.
        entity - The entity to be refreshed.
      • refresh

        void refresh​(java.lang.Object entity,
                     LockMode lockMode)
        Refresh the entity instance state from the database.
        Parameters:
        entity - The entity to be refreshed.
        lockMode - The LockMode to be applied.
      • refresh

        void refresh​(java.lang.String entityName,
                     java.lang.Object entity,
                     LockMode lockMode)
        Refresh the entity instance state from the database.
        Parameters:
        entityName - The entityName for the entity to be refreshed.
        entity - The entity to be refreshed.
        lockMode - The LockMode to be applied.
      • connection

        @Deprecated
        java.sql.Connection connection()
        Deprecated.
        just missed when deprecating same method from Session
        Returns the current JDBC connection associated with this instance.

        If the session is using aggressive connection release (as in a CMT environment), it is the application's responsibility to close the connection returned by this call. Otherwise, the application should not close the connection.
        Returns:
        The connection associated with this stateless session
      • createSQLQuery

        NativeQuery createSQLQuery​(java.lang.String queryString)
        Description copied from interface: QueryProducer
        Create a NativeQuery instance for the given SQL query string.
        Specified by:
        createSQLQuery in interface QueryProducer
        Parameters:
        queryString - The SQL query
        Returns:
        The query instance for manipulation and execution