[ 
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)

Reply via email to