You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Matt Watson (JIRA)" <ji...@apache.org> on 2017/03/06 19:18:32 UTC

[jira] [Updated] (CAY-2256) Cannot Save/Insert an Object With null Flattened (complex) toOne Relationship

     [ https://issues.apache.org/jira/browse/CAY-2256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matt Watson updated CAY-2256:
-----------------------------
    Description: 
When using a Flattened complex join for a toOne Relationship... if you do not set the relationship the {{validateForSave}} on {{CayenneDataObject}} incorrectly attaches a {{ValidationFailure}} saying that the relationship is required.

Prior to 4.0.M4 this worked correctly, but the commit fixing CAY-2146 introduced this issue. More directly the line of code holding the IF statement below was updated to check the db.Rels.size().

{code:title= CayenneDataObject.java|borderStyle=solid}
if (dbRels.size() == 1 && relationship.isSourceIndependentFromTargetChange()) {
    continue;
}
{code}

While putting this code back makes the test for this issue pass, it obviously makes the test for CAY-2146 FAIL, so I'm not suggesting to put it back, but just pointing it out in case it helps better understand this issue.

(see attached breaking-test.patch)

  was:
When using a Flattened complex join for a toOne Relationship... if you do not set the relationship the {{validateForSave}} on {{CayenneDataObject}} incorrectly attaches a {{ValidationFailure}} saying that the relationship is required.

Prior to M4 this worked correctly, but the commit fixing CAY-2146 introduced this issue. More directly the line of code holding the IF statement below was updated to check the db.Rels.size().

{code:title= CayenneDataObject.java|borderStyle=solid}
if (dbRels.size() == 1 && relationship.isSourceIndependentFromTargetChange()) {
    continue;
}
{code}

While putting this code back makes the test for this issue pass, it obviously makes the test for CAY-2146 FAIL, so I'm not suggesting to put it back, but just pointing it out in case it helps better understand this issue.

(see attached breaking-test.patch)


> Cannot Save/Insert an Object With null Flattened (complex) toOne Relationship
> -----------------------------------------------------------------------------
>
>                 Key: CAY-2256
>                 URL: https://issues.apache.org/jira/browse/CAY-2256
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Core Library
>    Affects Versions: 4.0.M4
>            Reporter: Matt Watson
>              Labels: flattened, null, relationship, toOne
>         Attachments: breaking-test.patch
>
>
> When using a Flattened complex join for a toOne Relationship... if you do not set the relationship the {{validateForSave}} on {{CayenneDataObject}} incorrectly attaches a {{ValidationFailure}} saying that the relationship is required.
> Prior to 4.0.M4 this worked correctly, but the commit fixing CAY-2146 introduced this issue. More directly the line of code holding the IF statement below was updated to check the db.Rels.size().
> {code:title= CayenneDataObject.java|borderStyle=solid}
> if (dbRels.size() == 1 && relationship.isSourceIndependentFromTargetChange()) {
>     continue;
> }
> {code}
> While putting this code back makes the test for this issue pass, it obviously makes the test for CAY-2146 FAIL, so I'm not suggesting to put it back, but just pointing it out in case it helps better understand this issue.
> (see attached breaking-test.patch)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)