Skip to main content
Jump to: navigation, search

Difference between revisions of "EclipseLink/DesignDocs/328404"

(Project overview)
(Concepts)
Line 28: Line 28:
  
 
== Concepts ==
 
== Concepts ==
 +
 +
* Currently each persistence unit has a single ServerSession.
 +
* Eclipselink core defines SessionBroker class that aggregates several ServerSessions.
 +
** SessionBroker maps each class to a single ServerSession.
 +
* This feature is to define persistence unit that has a SessionBroker instead of ServerSession.
 +
** Let's call Container persistence unit (or SessionBroker persistence unit).
  
 
== Requirements ==
 
== Requirements ==

Revision as of 13:02, 22 October 2010

Design Specification: Support SessionBroker in JPA

ER 328404

Document History

2010/10/22 Andrei Ilitchev Initial Version

Project overview

The goal is to allow for different classes contained in a single persistence context to be mapped to different databases.

em.persist(new A(..));
em.persist(new B(..));
// insert A into db1; insert B into db2:
// the two different data bases possibly from different vendors
em.flush();

Concepts

  • Currently each persistence unit has a single ServerSession.
  • Eclipselink core defines SessionBroker class that aggregates several ServerSessions.
    • SessionBroker maps each class to a single ServerSession.
  • This feature is to define persistence unit that has a SessionBroker instead of ServerSession.
    • Let's call Container persistence unit (or SessionBroker persistence unit).

Requirements

The two main use cases:

  • Unify multiple persistence units (with independent from each other object models).
  • Split single persistent unit.

Design Constraints

Design / Functionality

Testing

API

GUI

Config files

Documentation

Open Issues

This section lists the open issues that are still pending that must be decided prior to fully implementing this project's requirements.

Issue # Owner Description / Notes

Decisions

This section lists decisions made. These are intended to document the resolution of open issues or constraints added to the project that are important.

Issue # Description / Notes Decision

Future Considerations

During the research for this project the following items were identified as out of scope but are captured here as potential future enhancements. If agreed upon during the review process these should be logged in the bug system.

Back to the top