BRIDGING
JAVA OBJECTS AND RELATIONAL DATABASES
PersistenceBroker allows Java Programmers to store and retrieve Java Objects transparently in/from JDBC-compliant RDBMS
Persistent classes don't have to inherit from a persistent base class or to implement an interface. (The Broker uses Java Reflection for reading and writing objects)
Object / Relational mapping defined in an XML Repository. The mapping is completely dynamic and can be manipulated at runtime for maximum flexibility
Classes can be mapped to an arbitrary number of JDBC datasources
The Broker uses an internal ObjectCache which
maintains object identity (multiple lookups on a given table with same primary key will return one and the same object !)
reduces read and write overhead against databases
prevents circular reads in object read phase
is fully garbage collectable through usage of weak references (if objects are referenced by the ObjectCache but not from any Client-Application they can be reclaimed by the garbage collector)
Configurable Lazy Materialization through Proxy support in the PersistenceBroker.
Support for Polymorphism and ODMG Extents. You can use Interface-types and polymorphic classes as class attributes in your persistent classes. Queries are also aware of extents. A query against a baseclass will also return matches from derived classes, even if they are mapped to different DB-tables
Support for Java Array- and Collection-attributes in persistent classes. The attribute-types can be implementors of java.util.Collection or may be user defined collections that implement the interface ojb.broker.ManageableCollection.
Sequence-Managing. The SequenceManager is aware of extents and maintains uniqueness of ids accross any number of tables.
Reusing Prepared Statements.
Comes along with fully functional demo applications running against InstantDB.
100 % pure Java, Open Source, GPL
Supports BMP Entity Beans (see demo code in package ojb.examples.ejb). The caching technique improve the performance of EJB applications.
ODMG compliant API, a simple demo and TestCases are included (see package test.ojb.odmg)
Scalable client / server architecture that allows to build massively distributed systems with OJB.
$FOOTER$