Customizing the Post Phase
You can customize the behavior of the post operation by overriding EntityImpl.postChanges(), which is the method that is used, by default, to perform the post operation. The slide shows an example of this, with code that intercepts a delete action and only marks the deleted rows as deleted, without actually removing them from the table. You could use this technique if you want to preserve history of deleted rows..
The code in the example calls getPostState() to determine the entity’s post state. The post state is the state of the entity object’s data relative to the transaction’s corresponding database data. The Entity interface contains a number of constants that define the possible values for an entity’s post state. The post state is set to STATUS_UNMODIFIED when the data is posted to the database.