Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/Examples/JPA/ORMSessions"
(→Create a Session Factory that uses an alternative XML file) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Sessions are a key component of the EclipseLink Server application— they provide EclipseLink with access to the database. Sessions enable you to execute queries, and they return persistent objects and other results for client applications. | Sessions are a key component of the EclipseLink Server application— they provide EclipseLink with access to the database. Sessions enable you to execute queries, and they return persistent objects and other results for client applications. | ||
− | + | See [[EclipseLink/UserGuide/Using_EclipseLink_Sessions_%28ELUG%29|Using EclipseLink Sessions]] for complete information. | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | + | = Session Manager = |
− | + | The [[Acquiring_and_Using_Sessions_at_Run_Time_%28ELUG%29#Session_Manager|EclipseLink session manager]] enables developers to build a series of sessions that are maintained under a single entity. The session manager is a static utility class that loads EclipseLink sessions from the sessions.xml file, caches the sessions by name in memory, and provides a single access point for EclipseLink sessions. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | For specific examples, see: | |
− | + | *[[Acquiring_and_Using_Sessions_at_Run_Time_%28ELUG%29#Acquiring_the_Session_Manager| Loading a Session Manager Instance]] | |
+ | *[[Acquiring_and_Using_Sessions_at_Run_Time_%28ELUG%29#How_to_Load_a_Session_from_sessions.xml_Using_Defaults|Loading a Named Session from Session Manager Using Defaults]] | ||
+ | *[[Acquiring_and_Using_Sessions_at_Run_Time_%28ELUG%29#How_to_Load_a_Session_from_sessions.xml_with_an_Alternative_Class_Loader|Loading a Session with an Alternative Class Loader]] | ||
+ | *[[Acquiring_and_Using_Sessions_at_Run_Time_%28ELUG%29#How_to_Load_a_Session_from_an_Alternative_Session_Configuration_File|Loading an Alternative Session Configuration File]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= Session Factory = | = Session Factory = | ||
Line 51: | Line 24: | ||
* Hot/Re-deployment handling of applications | * Hot/Re-deployment handling of applications | ||
* Detachment helpers to simplify usage within a local session bean | * Detachment helpers to simplify usage within a local session bean | ||
+ | |||
+ | |||
== Create a Session Factory that uses the default sessions.xml file == | == Create a Session Factory that uses the default sessions.xml file == | ||
− | < | + | <source lang="java"> |
SessionFactory sessionFactory = new SessionFactory("session-name"); | SessionFactory sessionFactory = new SessionFactory("session-name"); | ||
− | + | Session sessionFactory.getSharedSession(); // By default this will log the session in. | |
+ | </source> | ||
− | == Create a Session Factory that | + | |
+ | == Create a Session Factory that loads an alternative XML Configuration file == | ||
The alternative xml file name must be a resource path to the sessions configuration xml. | The alternative xml file name must be a resource path to the sessions configuration xml. | ||
− | < | + | |
+ | <source lang="java"> | ||
SessionFactory sessionFactory = new SessionFactory("app-session.xml", "session-name"); | SessionFactory sessionFactory = new SessionFactory("app-session.xml", "session-name"); | ||
− | + | Session session = sessionFactory.getSharedSession(false, true); // Don't log the session in, but refresh it. | |
+ | </source> |
Latest revision as of 16:05, 23 June 2008
Sessions are a key component of the EclipseLink Server application— they provide EclipseLink with access to the database. Sessions enable you to execute queries, and they return persistent objects and other results for client applications.
See Using EclipseLink Sessions for complete information.
Contents
Session Manager
The EclipseLink session manager enables developers to build a series of sessions that are maintained under a single entity. The session manager is a static utility class that loads EclipseLink sessions from the sessions.xml file, caches the sessions by name in memory, and provides a single access point for EclipseLink sessions.
For specific examples, see:
- Loading a Session Manager Instance
- Loading a Named Session from Session Manager Using Defaults
- Loading a Session with an Alternative Class Loader
- Loading an Alternative Session Configuration File
Session Factory
Alternatively you may use the SessionFactory which is a Helper class to simplify the development and generation of code that accesses EclipseLink through the SessionManager (sessions config XML).
Responsibilities:
- Lookup of a session by name using default or provided sessions config location
- Support lookup of active UnitOfWork and Session in JTA environments
- Hot/Re-deployment handling of applications
- Detachment helpers to simplify usage within a local session bean
Create a Session Factory that uses the default sessions.xml file
SessionFactory sessionFactory = new SessionFactory("session-name"); Session sessionFactory.getSharedSession(); // By default this will log the session in.
Create a Session Factory that loads an alternative XML Configuration file
The alternative xml file name must be a resource path to the sessions configuration xml.
SessionFactory sessionFactory = new SessionFactory("app-session.xml", "session-name"); Session session = sessionFactory.getSharedSession(false, true); // Don't log the session in, but refresh it.