| P-new | P-new | unchanged | unchanged | unchanged | makePersistent |
| error | error | unchanged | unchanged | P-del | deletePersistent |
| unchanged | unchanged | unchanged | unchanged | P-clean | makeTransactional |
| Transient | error | error | error | unchanged | makeNontransactional |
| unchanged | unchanged | error | error | Transient | makeTransient |
| unchanged | T-clean | Transient | Transient | unchanged | commit withRetainValues = false |
| unchanged | T-clean | Transient | Transient | unchanged | commit withRetainValues = true |
| unchanged | T-clean | Transient | Hollow | unchanged | rollback withRestoreValues = false |
| unchanged | T-clean | Transient | P-nontrans | unchanged | rollback withRestoreValues = true |
| unchanged | unchanged | unchanged | unchanged | unchanged | refresh with active datastore transaction |
| unchanged | unchanged | unchanged | unchanged | unchanged | refresh with active optimistic transaction |
| unchanged | unchanged | unchanged | unchanged | Hollow | evict |
| unchanged | impossible | impossible | impossible | unchanged | read field outsideof a transaction |
| unchanged | unchanged | error | error | unchanged | read field with active optimistic transaction |
| unchanged | unchanged | error | error | P-clean | read field with active datastore transaction |
| unchanged | impossible | impossible | impossible | unchanged | write field or makeDirty outside of a transaction |
| T-dirty | unchanged | error | error | P-dirty | write field or makeDirty with active transaction |
| unchanged | unchanged | unchanged | unchanged | unchanged | retrieve outside of a transaction or with active optimistic transaction |
| unchanged | unchanged | unchanged | unchanged | P-clean | retrieve with an active datastore transaction |