Interface SessionImplementor

All Superinterfaces:
Serializable
All Known Subinterfaces:
EventSource
All Known Implementing Classes:
AbstractSessionImpl, SessionImpl, StatelessSessionImpl

public interface SessionImplementor extends Serializable
Defines the internal contract between the Session and other parts of Hibernate such as implementors of Type or EntityPersister.
See Also:
  • Method Details

    • getInterceptor

      Interceptor getInterceptor()
      Retrieves the interceptor currently in use by this event source.
      Returns:
      The interceptor.
    • setAutoClear

      void setAutoClear(boolean enabled)
      Enable/disable automatic cache clearing from after transaction completion (for EJB3)
    • isTransactionInProgress

      boolean isTransactionInProgress()
      Does this Session have an active Hibernate transaction or is there a JTA transaction in progress?
    • initializeCollection

      void initializeCollection(PersistentCollection collection, boolean writing) throws HibernateException
      Initialize the collection (if not already initialized)
      Throws:
      HibernateException
    • internalLoad

      Object internalLoad(String entityName, Serializable id, boolean eager, boolean nullable) throws HibernateException
      Load an instance without checking if it was deleted. When nullable is disabled this method may create a new proxy or return an existing proxy; if it does not exist, throw an exception. When nullable is enabled, the method does not create new proxies (but might return an existing proxy); if it does not exist, return null. When eager is enabled, the object is eagerly fetched
      Throws:
      HibernateException
    • immediateLoad

      Object immediateLoad(String entityName, Serializable id) throws HibernateException
      Load an instance immediately. This method is only called when lazily initializing a proxy. Do not return the proxy.
      Throws:
      HibernateException
    • getTimestamp

      long getTimestamp()
      System time before the start of the transaction
    • getFactory

      Get the creating SessionFactoryImplementor
    • getBatcher

      Batcher getBatcher()
      Get the prepared statement Batcher for this session
    • list

      List list(String query, QueryParameters queryParameters) throws HibernateException
      Execute a find() query
      Throws:
      HibernateException
    • iterate

      Iterator iterate(String query, QueryParameters queryParameters) throws HibernateException
      Execute an iterate() query
      Throws:
      HibernateException
    • scroll

      ScrollableResults scroll(String query, QueryParameters queryParameters) throws HibernateException
      Execute a scroll() query
      Throws:
      HibernateException
    • scroll

      ScrollableResults scroll(CriteriaImpl criteria, ScrollMode scrollMode)
      Execute a criteria query
    • list

      List list(CriteriaImpl criteria)
      Execute a criteria query
    • listFilter

      List listFilter(Object collection, String filter, QueryParameters queryParameters) throws HibernateException
      Execute a filter
      Throws:
      HibernateException
    • iterateFilter

      Iterator iterateFilter(Object collection, String filter, QueryParameters queryParameters) throws HibernateException
      Iterate a filter
      Throws:
      HibernateException
    • getEntityPersister

      EntityPersister getEntityPersister(String entityName, Object object) throws HibernateException
      Get the EntityPersister for any instance
      Parameters:
      entityName - optional entity name
      object - the entity instance
      Throws:
      HibernateException
    • getEntityUsingInterceptor

      Object getEntityUsingInterceptor(EntityKey key) throws HibernateException
      Get the entity instance associated with the given Key, calling the Interceptor if necessary
      Throws:
      HibernateException
    • afterTransactionCompletion

      void afterTransactionCompletion(boolean successful, Transaction tx)
      Notify the session that the transaction completed, so we no longer own the old locks. (Also we should release cache softlocks.) May be called multiple times during the transaction completion process. Also called after an autocommit, in which case the second argument is null.
    • beforeTransactionCompletion

      void beforeTransactionCompletion(Transaction tx)
      Notify the session that the transaction is about to complete
    • getContextEntityIdentifier

      Serializable getContextEntityIdentifier(Object object)
      Return the identifier of the persistent object, or null if not associated with the session
    • bestGuessEntityName

      String bestGuessEntityName(Object object)
      The best guess entity name for an entity not in an association
    • guessEntityName

      String guessEntityName(Object entity) throws HibernateException
      The guessed entity name for an entity not in an association
      Throws:
      HibernateException
    • instantiate

      Object instantiate(String entityName, Serializable id) throws HibernateException
      Instantiate the entity class, initializing with the given identifier
      Throws:
      HibernateException
    • listCustomQuery

      List listCustomQuery(CustomQuery customQuery, QueryParameters queryParameters) throws HibernateException
      Execute an SQL Query
      Throws:
      HibernateException
    • scrollCustomQuery

      ScrollableResults scrollCustomQuery(CustomQuery customQuery, QueryParameters queryParameters) throws HibernateException
      Execute an SQL Query
      Throws:
      HibernateException
    • list

      Execute a native SQL query, and return the results as a fully built list.
      Parameters:
      spec - The specification of the native SQL query to execute.
      queryParameters - The parameters by which to perform the execution.
      Returns:
      The result list.
      Throws:
      HibernateException
    • scroll

      Execute a native SQL query, and return the results as a scrollable result.
      Parameters:
      spec - The specification of the native SQL query to execute.
      queryParameters - The parameters by which to perform the execution.
      Returns:
      The resulting scrollable result.
      Throws:
      HibernateException
    • getFilterParameterValue

      Object getFilterParameterValue(String filterParameterName)
      Deprecated.
      use #getLoadQueryInfluencers instead
      Retreive the currently set value for a filter parameter.
      Parameters:
      filterParameterName - The filter parameter name in the format {FILTER_NAME.PARAMETER_NAME}.
      Returns:
      The filter parameter value.
    • getFilterParameterType

      Type getFilterParameterType(String filterParameterName)
      Deprecated.
      use #getLoadQueryInfluencers instead
      Retreive the type for a given filter parrameter.
      Parameters:
      filterParameterName - The filter parameter name in the format {FILTER_NAME.PARAMETER_NAME}.
      Returns:
      The filter param type
    • getEnabledFilters

      Map getEnabledFilters()
      Deprecated.
      use #getLoadQueryInfluencers instead
      Return the currently enabled filters. The filter map is keyed by filter name, with values corresponding to the FilterImpl instance.
      Returns:
      The currently enabled filters.
    • getDontFlushFromFind

      int getDontFlushFromFind()
    • getListeners

      EventListeners getListeners()
      Retrieves the configured event listeners from this event source.
      Returns:
      The configured event listeners.
    • getPersistenceContext

      PersistenceContext getPersistenceContext()
      Get the persistence context for this session
    • executeUpdate

      int executeUpdate(String query, QueryParameters queryParameters) throws HibernateException
      Execute a HQL update or delete query
      Throws:
      HibernateException
    • executeNativeUpdate

      int executeNativeUpdate(NativeSQLQuerySpecification specification, QueryParameters queryParameters) throws HibernateException
      Execute a native SQL update or delete query
      Throws:
      HibernateException
    • getNonFlushedChanges

      NonFlushedChanges getNonFlushedChanges() throws HibernateException
      Return changes to this session that have not been flushed yet.
      Returns:
      The non-flushed changes.
      Throws:
      HibernateException
    • applyNonFlushedChanges

      void applyNonFlushedChanges(NonFlushedChanges nonFlushedChanges) throws HibernateException
      Apply non-flushed changes from a different session to this session. It is assumed that this SessionImpl is "clean" (e.g., has no non-flushed changes, no cached entities, no cached collections, no queued actions). The specified NonFlushedChanges object cannot be bound to any session.

      Parameters:
      nonFlushedChanges - the non-flushed changes
      Throws:
      HibernateException
    • getEntityMode

      EntityMode getEntityMode()
    • getCacheMode

      CacheMode getCacheMode()
    • setCacheMode

      void setCacheMode(CacheMode cm)
    • isOpen

      boolean isOpen()
    • isConnected

      boolean isConnected()
    • getFlushMode

      FlushMode getFlushMode()
    • setFlushMode

      void setFlushMode(FlushMode fm)
    • connection

      Connection connection()
    • flush

      void flush()
    • getNamedQuery

      Query getNamedQuery(String name)
      Get a Query instance for a named query or named native SQL query
    • getNamedSQLQuery

      Query getNamedSQLQuery(String name)
      Get a Query instance for a named native SQL query
    • isEventSource

      boolean isEventSource()
    • afterScrollOperation

      void afterScrollOperation()
    • getFetchProfile

      String getFetchProfile()
      Deprecated.
      use #getLoadQueryInfluencers instead
      Get the internal fetch profile currently associated with this session.
      Returns:
      The current internal fetch profile, or null if none currently associated.
    • setFetchProfile

      void setFetchProfile(String name)
      Deprecated.
      use #getLoadQueryInfluencers instead
      Set the current internal fetch profile for this session.
      Parameters:
      name - The internal fetch profile name to use
    • getJDBCContext

      JDBCContext getJDBCContext()
    • isClosed

      boolean isClosed()
      Determine whether the session is closed. Provided seperately from isOpen() as this method does not attempt any JTA synch registration, where as isOpen() does; which makes this one nicer to use for most internal purposes.
      Returns:
      True if the session is closed; false otherwise.
    • getLoadQueryInfluencers

      LoadQueryInfluencers getLoadQueryInfluencers()
      Get the load query influencers associated with this session.
      Returns:
      the load query influencers associated with this session; should never be null.