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/251594
< EclipseLink | DesignDocs
Query Hints
Document History
Date | Author | Version Description & Notes |
---|---|---|
2008-10-21 | James | 0.1 Draft |
Project overview
The complete functionality of the EclipseLink query framework needs to be exposed to JPA usage through query hints. Many of these hints have been requested by clients, and some have been added, this attempt to provide the complete set and allow them to be documentation and names standardized.
Concepts
Requirements
Functionality
List of new hints:
- eclipselink.query-results-cache
- eclipselink.query-results-cache.size
- eclipselink.query-results-cache.expiry
- eclipselink.query-results-cache.expiry-time-of-day
- eclipselink.maintain-cache
- eclipselink.session-name
- eclipselink.prepare
- eclipselink.jdbc.cache-statement
- eclipselink.sql.hint
- eclipselink.flush
- eclipselink.jdbc.native-connection
- eclipselink.sql
- eclipselink.call
- eclipselink.redirect
- eclipselink.expression
- eclipselink.query-type +support all query types
- eclipselink.result-type (Map, Array, Value, Values)
- eclipselink.cursor
- eclipselink.cursor.initial-size
- eclipselink.cursor.page-size
- eclipselink.cursor.scrollable
- eclipselink.cursor.scrollable.result-set-type (Forward, ForwardOnly, Unknown, Reverse,
ScrollInsensitive, ScrollSensitive)
- eclipselink.cursor.scrollable.result-set-concurrency (ReadOnly, Updatable)
- eclipselink.cursor.size-query
- eclipselink.fetch-group.name
- eclipselink.fetch-group.attribute
- eclipselink.fetch-group.default
- eclipselink.cache-usage.indirection-policy (Include, Exclude, ThrowException, Trigger)
- eclipselink.cache-usage +support modify queries
- eclipselink.exclusive-connection
- eclipselink.inheritance.outer-join
- eclipselink.history.as-of
- eclipselink.history.as-of-scn
- eclipselink.example-object
- eclipselink.example-object.policy
- eclipselink.hierarchical.connect-by
- eclipselink.hierarchical.start-with
- eclipselink.hierarchical.order-siblings
- eclipselink.jdbc.first-result
In addition the hint must not be stored as a Map, as some hints require multiple values (fetch, batch). The fetch hint should also allow usage of an outer-join.
i.e. "eclipselink.join-fetch"="emp.+address"
Documentation
New hints will require documentation in user docs.
Open Issues
Issue # | Owner | Description / Notes |
---|---|---|
01 | Should hierarchical be hints or JPQL? |
Issue # | Description / Notes | Decision |
---|