Maxim Solodovnik created OPENJPA-2975:
-----------------------------------------

             Summary: treat() join overloads silently cast without narrowing
                 Key: OPENJPA-2975
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2975
             Project: OpenJPA
          Issue Type: Sub-task
          Components: jpa
    Affects Versions: 4.2.0
            Reporter: Maxim Solodovnik
             Fix For: 4.2.0


Discussion thread: 
https://github.com/apache/openjpa/pull/144#discussion_r3683004426


**(medium)** Only `treat(Root)` gets a real implementation 
(`RootImpl.TreatedRoot`); all the join overloads (lines 429-450) and 
`treat(Path)` (line 458) just cast and return the same object. That is a silent 
no-op: no type narrowing is applied, but instead of the previous explicit 
UnsupportedOperationException users now get wrong behavior with no diagnostic. 
Could the unsupported overloads keep throwing (or get a TreatedJoin analogous 
to TreatedRoot)?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to