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