Retain persistence-only properties when updating entities
Previously, updates fully replaced an old entity. If properties, which are not set through the API, needed to be kept, they had to be transferred explicitly to the new entity object.
This affected internal properties like creationTimestamp
or
importMetadata
which would be lost after entity updates.
The new behavior for the API is to merge properties for the Public
view of the new entity object into the existing entity. When updates are
performed internally by services, the Persistance
view can be used to
override all properties.
Code in update event handlers or update hooks which manually transferred internal property values is now obsolete and can be removed in a separate refactoring.
Fixes: #111 (closed)