Many entities in moqui have primary key of combination of several fields. In some scenarios people may want to update one of field in primary keys. e.g. for product images that is store in ProductContent entity which has primary keys of productId, productContentTypeEnumId, contentLocation, fromDate, people may want to update one image from detail to large, I have not found how to do it in moqui, actually in the entity engine yet.
One solution is to delete it, then add new one. but this sounds weird.
Just to clarify some project structure: The ProductContent entity is actually part of the Mantle Business Artifacts project, and not Moqui Framework. Mantle Business Artifacts is a core part of the Moqui Ecosystem.
For entities with multiple primary key fields this is a database constraint, i.e. you can't update a PK field. You must create a new record, and what you do with the other record is up to the needs of your application (expire, delete, leave, etc).
Something could possibly be added to the Entity Facade to do something like this automatically, but it would be complex. To identify the record the code would have to know the old and new values of the PK field, and what to do with the old record.
Unless a clear pattern emerges for a common use case (and in 14 years of ERP work I can't think of one I've run into very much, though the expire pattern is the most common, such as for the immutable ContactMech records, etc, etc), this is best done by explicit service code and not more automagically though a tool.
If there is a specific pattern you would like to see an extension to the Entity Facade to make it easier, a discussion on the LinkedIn Group would be a good place to initiate that (as opposed to StackOverflow which is for questions and not meant for discussions).