[
https://issues.apache.org/jira/browse/OPENJPA-957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12689140#action_12689140
]
Albert Lee commented on OPENJPA-957:
------------------------------------
This is a summary of the design points for the Query/EntityManager hint
supports :
- Based on property Map<String,Object> definition, value of appropriate types
and corresponding plugin aliases are valid property hint values. (E.g.
props.put("openjpa.FetchPlan.Isolation", "serializable");
props.put("openjpa.FetchPlan.Isolation",
Connection.TRANSACTION_READ_UNCOMMITTED);
props.put("openjpa.FetchPlan.Isolation",
String.valueOf(Connection.TRANSACTION_READ_UNCOMMITTED));
- Hints specified in Query or EntityManager interface methods become effective
when the corresponding functions are applied not when the hint is being set..
This means semantics (e.g. transaction) requirements for a hint to be compliant
is verified when the function is applied not when the hint is set.
- FetchPlan processes hints that is specific to FetchPlan interface (E.g.
LockMode to LockLevel type conversion) and passes the rest to
FetchConfiguration for processing. FetchConfiguration handles type conversion
and alias processing.
- Query.setHint() will not throw exception if hint is not recognized and is
silently ignored.
- Hints specified in different run-time configuration follow the rules defined
in "2. Runtime Configuration"
(http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_conf_specify.html)
- If multiple hints with different prefixes of similar property are specified
in the same property map in the Query and EntityManager interface methods (i.e.
openjpa.*, openjpa.jdbc.*, openjpa.FetchPlan.* and javax.persistence.* ) the
following precedence (from high to low) applies:
1, javax.persistence.*
2. openjpa.FetchPlan.*
3. openjpa.jdbc.*
4. openjpa.*
(e.g. javax.persistence.lock.timeout overrides
openjpa.FetchPlan.LockTimeout overrides openjpa.LockTimeout)
Albert Lee.
> Support lock timeout hint on applicable methods
> -----------------------------------------------
>
> Key: OPENJPA-957
> URL: https://issues.apache.org/jira/browse/OPENJPA-957
> Project: OpenJPA
> Issue Type: Sub-task
> Components: jpa
> Affects Versions: 2.0.0
> Reporter: Jeremy Bauer
> Assignee: Albert Lee
> Attachments: OPENJPA_957.patch
>
>
> This task is to provide support for the lock timeout hint on applicable
> interface methods. OpenJPA currently supports the openjpa.LockTimeout
> property. This support will be extended to allow more granular configuration
> at the method level, where applicable. The pattern used for specifying lock
> modes at a method level should be considered for extension or as a guide.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.