[
https://issues.apache.org/jira/browse/CAY-2871?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nikita Timofeev closed CAY-2871.
--------------------------------
Resolution: Fixed
*5.0*:
[https://github.com/apache/cayenne/commit/a036d3fcba885c31ab3a9fbf0244fe778075a00e]
*4.2*:
[https://github.com/apache/cayenne/commit/079fbe7ba239166af8cab02ac34c3a5feb42124b]
> QualifierTranslator breaks on a relationship with a compound FK
> ---------------------------------------------------------------
>
> Key: CAY-2871
> URL: https://issues.apache.org/jira/browse/CAY-2871
> Project: Cayenne
> Issue Type: Bug
> Affects Versions: 4.2, 4.2.1
> Reporter: Nikita Timofeev
> Assignee: Nikita Timofeev
> Priority: Critical
> Fix For: 4.2.2, 5.0-M2
>
>
> Expression like this:
> {code:java}
> Expression exp = CompoundFkTestEntity.TO_COMPOUND_PK.eq(objectId1)
> .or(CompoundFkTestEntity.TO_COMPOUND_PK.eq(objectId2)
> {code}
> Completely breaks {{QualifierTranslator}} and produces incorrect SQL like
> this:
> {{( ( t0.F_KEY1 = 'PK1' ) AND ( t0.F_KEY2 = 'PK2' ) ) OR ( 'PK4' 'PK3' )}}
> Note that the first equality translates completely fine, it's the second (and
> further) that breaks everything.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)