| org.springframework.orm.toplink.SessionFactory
All known Subclasses: org.springframework.orm.toplink.AbstractSessionFactory, org.springframework.orm.toplink.SingleSessionFactory,
SessionFactory | public interface SessionFactory (Code) | | The SessionFactory interface serves as factory for TopLink Sessions,
allowing for dependency injection on thread-safe TopLink-based DAOs.
Used by TopLinkAccessor/Template and TopLinkTransactionManager.
In contrast to JDO or Hibernate (which define native PersistenceManagerFactory
and SessionFactory interfaces, respectively), TopLink itself does not provide
such a factory interface: hence, it is necessary to define it within Spring.
Note that this interface does not depend on any other Spring interfaces or
classes, to allow for keeping TopLink-based DAOs as independent as possible.
author: Juergen Hoeller since: 1.2 See Also: TopLinkAccessor.setSessionFactory See Also: TopLinkTransactionManager.setSessionFactory |
Method Summary | |
void | close() Close this SessionFactory, shutting down all internal resources. | Session | createManagedClientSession() Create a new managed TopLink client Session for the current context.
Will usually be a new special ClientSession for the current thread.
The returned Session will be prepared to be managed within a Spring
transaction (by TopLinkTransactionManager). | Session | createSession() Create a plain TopLink Session for the current application context. | Session | createTransactionAwareSession() Create a new transaction-aware TopLink Session that exposes the currently
active Session and UnitOfWork via Session.getActiveSession()
and Session.getActiveUnitOfWork() , respectively. |
close | void close()(Code) | | Close this SessionFactory, shutting down all internal resources.
|
createManagedClientSession | Session createManagedClientSession() throws TopLinkException(Code) | | Create a new managed TopLink client Session for the current context.
Will usually be a new special ClientSession for the current thread.
The returned Session will be prepared to be managed within a Spring
transaction (by TopLinkTransactionManager). It will carry an active
UnitOfWork that expects to be committed at transaction completion,
just like a plain TopLink Session does within a JTA transaction.
This method is only supposed to be called by Spring's
TopLinkTransactionManager or similar TopLink-based transaction managers.
If a SessionFactory does not support managed Sessions, it should throw
an UnsupportedOperationException.
the new TopLink Session throws: TopLinkException - in case of errors See Also: oracle.toplink.sessions.Session.getActiveUnitOfWork |
createSession | Session createSession() throws TopLinkException(Code) | | Create a plain TopLink Session for the current application context.
Will usually be a new ClientSession for the current thread.
The returned Session will participate in JTA transactions (provided that
TopLink is configured with a corresponding external transaction controller),
but not in Spring-managed transactions (by TopLinkTransactionManager).
This is the factory method to be called by TopLink data access code,
usually through the SessionFactoryUtils.getSession method
that checks for a transactional (thread-bound) Session first.
the new TopLink Session throws: TopLinkException - in case of errors See Also: SessionFactoryUtils.getSession(SessionFactoryboolean) |
createTransactionAwareSession | Session createTransactionAwareSession() throws TopLinkException(Code) | | Create a new transaction-aware TopLink Session that exposes the currently
active Session and UnitOfWork via Session.getActiveSession()
and Session.getActiveUnitOfWork() , respectively.
Such a Session reference can be used analogously to a managed TopLink
Session in a JTA environment, with Spring-managed transactions backing it.
It is usually preferable to let DAOs work with a full SessionFactory,
accessing TopLink Sessions via SessionFactoryUtils.getSession .
However, a transaction-aware TopLink Session reference does not impose any
Spring dependency, so might be preferable if you'd like to keep your data
access code tied to TopLink API only.
the new TopLink Session throws: TopLinkException - in case of errors See Also: oracle.toplink.sessions.Session.getActiveSession See Also: oracle.toplink.sessions.Session.getActiveUnitOfWork |
|
|