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. I briefly discuss the individual language bindings below.
Persistence is by 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. Back to my original premise. 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.