Can you allow Persistent entity to have a generalization as a nonpersistent entity. i.e. CAR_NPE is parent entity. FORD_PE is child entity of it.
Use case: It will help to make general purpose snippets, and microflows with NPE. Any action or commit or rollback on a generalized reference can still only be in-memory and no database impact.
1) This will allow devs to make NPE based screen & transaction flows thereby not locking any rows in database.
2) It will also allow easy separation of flows(or screens) that are not database impacting vs that are database impacting. It will be useful in preventing duplicated attributes when using mapping, or external interfaces, or odata, or using external modules.
3) It will also be used to pass around a read-only reference of an instance. So this read only reference can be of the parent NPE. In miroflows and nanoflows I should be able to down cast an instance of FORD_PE to an instance of CAR_NPE and pass around to any microflows/nanoflows without worrying about anyone altering it. All attributes and associations of the PE can remain accessible from NPE to read based on the access rules. This way it will be easy to separate microflows that modify an instance vs that just read.
4) It will help in simplifying native apps as they allow only NPE to move back and forth in microflow calls.