You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (JIRA)" <ji...@apache.org> on 2016/08/12 07:39:20 UTC

[jira] [Created] (CAY-2101) DataContext.currentSnapshot() doesn't set snapshot entity name

Andrus Adamchik created CAY-2101:
------------------------------------

             Summary: DataContext.currentSnapshot() doesn't set snapshot entity name
                 Key: CAY-2101
                 URL: https://issues.apache.org/jira/browse/CAY-2101
             Project: Cayenne
          Issue Type: Bug
    Affects Versions: 4.0.M3, 3.1.2
            Reporter: Andrus Adamchik
            Assignee: Andrus Adamchik


DataContext.currentSnapshot() fails to set created snapshot entity name. This causes confusion downstream. One obscure case that I was finally able to trace to this issue was related to inheritance:

* "currentSnapshot" was called for concrete subclass during new object commit.
* returned snapshot ended up in the shared cache
* later a RelationshipQuery for another object pointing to this one received the snapshot from cache.
* The result was the attempt to instantiate an abstract superclass instead of subclass 

So we need to fix 'currentSnapshot' and maybe also add sanity checks to "objectsFromDataRows" to throw on invalid snapshots.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)