It also has object extensions to support object identity, complex objects, path expressions, operation invocation, and inheritance. ODMG maintains a working relationship with the committee working on SQL3 in an effort to make OQL and the query portion of SQL3 compatible. Each binding includes support for OQL, navigation, and transactions. The beauty of such an approach is that a developer can build an entire database application from within a single programming-language environment. The ODMG Java binding is completely natural to Java programmers.
Persistence comes through reachability.
That means that once a transaction is committed, any objects that can be reached from root objects in the database are automatically made persistent in the database. The ODMG binding to Java adds classes and other constructs to the Java environment to support the ODMG object model, including collections, transactions, and databases, without altering the semantics of the language. A Standard Template Library and exception handling are also included. Because if you're going to build Web-enabled or multimedia applications, you're going to end up using objects, and OMDG 2.0 is the definitive standard for object storage. ODMG 2.0 is easy to learn and easy to use because the tight language bindings extend your programming language to provide database capability in a completely natural way that allows you to concentrate on application development.