Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/DesignDocs/251594

Query Hints

ER 251594

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 users, and some have been added, this attempt to provide the complete set and allow them to be documentation and names standardized.

Concepts

The query framework is the set of query classes defining EclipseLink's native query API.

Requirements

Support all relevant functionality of the EclipseLink native API query framework through JPA hints.

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

Decisions

Issue # Owner Description / Notes
01 Should hierarchical be hints or JPQL?

Future Considerations

Issue # Description / Notes Decision

Copyright © Eclipse Foundation, Inc. All Rights Reserved.