Package org.hibernate

Interface StatelessSession

  • All Superinterfaces:
    AutoCloseable, Closeable, QueryProducer, Serializable, SharedSessionContract

    public interface StatelessSession
    extends SharedSessionContract, AutoCloseable, 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

      • insert

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

        Serializable insert​(String entityName,
                            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​(Object entity)
        Update a row.
        Parameters:
        entity - a detached entity instance
      • update

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

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

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

        Object get​(String entityName,
                   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

        Object get​(Class entityClass,
                   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

        Object get​(String entityName,
                   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

        Object get​(Class entityClass,
                   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​(Object entity)
        Refresh the entity instance state from the database.
        Parameters:
        entity - The entity to be refreshed.
      • refresh

        void refresh​(String entityName,
                     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​(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​(String entityName,
                     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
        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