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.
EclipseLink/DesignDocs/367452
Design Specification: Join with ON clause
Document History
Date | Author | Version Description & Notes |
---|---|---|
22 December 2011 | Gordon Yorke | Initial Document created |
Project overview
JPA 2.1 will add support for an ON clause within the JOIN clause of a Java Persistence Query. Support will be required for both JPQL and Criteria queries.
Concepts
Generally the only condition for a JOIN is that of the Foreign Key but the ON clause is intended to allow users to specify additional conditions for the JOIN.
eg: JPQL: SELECT s.name FROM Suppliers s LEFT JOIN s.products p ON p.status = 'inStock'
SQL: SELECT s.name FROM Suppliers s LEFT JOIN Products p ON s.id = p.supplierId AND p.status = 'inStock'
Requirements
Support the ON clause syntax of JPQL and the Criteria APIs
Design Constraints
Design / Functionality
Testing
API
GUI
Config files
Documentation
Work Required
- ON support in expression framework and JPQL
- Completed
- ON support in Criteria API
- approx 3 days
- Testing
- approx 3 days
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.