OJB uses an XML based Object/Relational Mapping. The mapping resides in a
dynamic MetaData layer which can be manipulated at runtime through a simple
Meta-Object-Protocol (MOP) to change the behaviour of the persistence
kernel.
OJB provides several advanced O/R features like an
Object Caching, lazy materialization
through virtual proxies or a
distributed lock-management with configurable
Transaction-Isolation Levels. Optimistic and pessimistic Locking is
supported.
OJB provides a flexible configuration and plugin mechanism that allows to select
from set of predefined components or to implement your own extensions and plugins.
A more complete featurelist can be found here.
Learn more about the OJB design principles
in this document.