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/Examples/JPA/Migration/OpenJPA/QueryHints

Migrating OpenJPA to EclipseLink JPA: Query Hints

NOTE: Under Construction

Within a JPA application there is support for specifying query hints which define provider specific behaviour. These hints can be specified in annotations, within the ORM XML files, or within application code. The query hint names are strings and therefore do not typically force compile time dependencies on a particular provider but the values for these hints may introduce dependencies. The following sections outline OpenJPA query hints and their corresponding EclipseLink JPA features. If any query hint related migration information is missing or incomplete please log a documentation enhancement request referencing this page and provide details of your migration challenge.

Note: This migration information is based on the OpenJPA 1.2.1 documentation.


OpenJPA Hint Description EclipseLink JPA Equivalent Functionality
openjpa.hint.OracleSelectHint Specifies an Oracle specific query hint to be generated eclipselink.sql.hint
openjpa.FetchPlan.ReadLockMode Values= READ or WRITE JPA 2.0's Query.setLokMode(LockModeType)
openjpa.hint.OptimizeResultCount Integer value greater than zero QueryHints.JDBC_FETCH_SIZE
openjpa.FetchPlan.Isolation
openjpa.FetchPlan.MaxFetchDepth FetchGroup depth specified by attributes in EclipseLink and not by numeric depth
openjpa.FetchPlan.FetchBatchSize Query.setMaxResults
QueryHints.JDBC_MAX_ROWS
openjpa.FetchPlan.LockTimeOut Number of ms to wait to acquire a lock (-1 means no limit) QueryHints.PESSIMISTIC_LOCK_TIMEOUT
openjpa.FetchPlan.EagerFetchMode FetchGroup loading is done based on attributes specified or in the case of the default FetchGroup the lazy configuration of the mappings.
openjpa.FetchPlan.SubclassFetchMode Determines how to eager-fetch subclass data FetchGroup attributes can be for any mapped attribute in the target entity or its mapped parent classes.

Back to the top