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.

Native behavior of EclipseStore

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.

Behavior of EclipseStore with Spring-Data-Eclipse-Store

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.