1. The ODMG (Object Database Management Group) has been working on standardizing language extensions to C++ and smalltalk to support persistence, and on defining class libraries to support persistence.
2. There are two parts to the ODMG C++ extension: (1) the C++ Object Definition Language (C++ ODL); and (2) the C++ Object Manipulation Language (C++ OML).
3. An example the ODMG C++ Object De nition Language is in Figure 8.7. Person and Account are subclasses of Persistence Object, and objects in these classes can therefore be made persistent. Customer is a subclass of Person and is thus also a subclass of Persistence Object.
4. Methods can be directly invoked and behave like procedure calls. The keyword private indicates that the following attributes or methods are visible to only methods of the class; public indicates that the attributes or methods are visible to other code as well.
5. Type Ref (Branch) is a reference, or persistent pointer, to an object of type Branch. Referential integrity constraint is specified using inverse. E.g., inverse Account: owners for the attribute accounts says that, for each account object referenced in the accounts set of Customer object, the eld owners of the account object must contain a reference back to the Customer object.
