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)