Several approaches have been proposed to make the objects persistent.
1. persistence by class. Declare class to be persistent: all objects of the class are then persistent objects. Simple, not exible since it is often useful to have both transient and persistent objects in a single class. In many OODB systems, declaring a class to be persistent is interpreted as \persistable" | objects in the class potentially can be made persistent.
2. persistence by creation. Introduce new syntax to create persistent objects.
3. persistence by marking. Mark an object persistent after it is created (and before the program terminates).
4. persistence by reference. One or more objects are explicitly declared as (root) persistent objects. All other objects are persistent i they are referred, directly or indirectly, from a root persistent object. It is easy to make the entire data structure persistent by merely declaring the root of the structure as persistent, but is expensive to follow the chains in detection for a database system.
