[
https://issues.apache.org/jira/browse/OPENJPA-2949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Richard Zowalla resolved OPENJPA-2949.
--------------------------------------
Resolution: Not A Problem
Following the analysis in the comments: the Jakarta Persistence 3.2 BNF defines
entity_id_or_version_comp as a comparison of ID()/VERSION() with = or <> only,
so restricting the production to those operators is specification conformant.
Closing as Not A Problem; if a use case for the broader forms (e.g. ID(e) = 5
or ID(a) = ID(b)) comes up, it can be raised as a separate improvement.
> ID()/VERSION() limited to equality against parameters
> -----------------------------------------------------
>
> Key: OPENJPA-2949
> URL: https://issues.apache.org/jira/browse/OPENJPA-2949
> Project: OpenJPA
> Issue Type: Sub-task
> Components: jpa
> Affects Versions: 4.2.0
> Reporter: Maxim Solodovnik
> Assignee: Romain Manni-Bucau
> Priority: Major
> Fix For: 4.2.0
>
>
> Discussion link:
> [https://github.com/apache/openjpa/pull/144#discussion_r3682999176]
> *(medium)* {{entity_id_or_version_comp()}} only allows {{ID( x )/VERSION( x
> )}} compared with {{=/<>}} against an input parameter. Spec-legal forms like
> {{{}ID(e) = 5{}}}, {{VERSION(e) >= :v}} or {{ID(a) = ID(b)}} do not parse -
> intentional first step, or should these functions be reachable from the
> general comparison/arithmetic productions?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)