Transactional support issues can get complex, but to keep things simple for the present—to focus on the GoF State pattern—assume the following:
Persistent objects can be inserted, deleted, or modified.
Operating on a persistent object (for example, modifying it) does not cause an immediate database update; rather, an explicit commit operation must be performed.
In addition, the response to an operation depends on the transactional state of the object. As an example, responses may be as shown in the statechart of Figure 34.12.
For example, an “old dirty” ...