Working copies
If you use EclipseStore without our library, EclipseStore loads the data from the datastore directly into memory. You make your changes on these loaded Java objects and by calling store
EclipseStore writes it directly from memory to the datastore.
If you e.g. change the address of a person, the changed address is already in your data model, even before storing this person. This is very different from the behavior a Spring user expects.
With Spring-Data-Eclipse-Store every time an object is loaded from the datastore, a working copy of that object (or rather the object tree) is created and returned to the user.
Therefore, the user can make the changes on the working copy without any changes to the actual data model.
The changes are only persisted after calling save
on a repository.