A different approach could be use a DTO (data transfer object).
A DTO is non-persistable and store the same attributes as the entity in question.
On clicking 'Edit' the DTO is created and populated with the values from the persistable entity.
The user can the edit the values.
On clicking 'Save' the DTO is validated and if it is valid the data is updated on the persistable entity, committed and refreshed in the client.