XStore is a framework for persisting objects in a database. The primary goal of XStore is to combine the programming simplicity of an object-oriented database with the availability (or commercial acceptability) of a relational database. A programmer employing the object-oriented programming paradigm would rather deal with classes, fields, and associations rather than tables, columns, and relationships, and an object-oriented database supports this view of persistence. Unfortunately, object-oriented database products have not met with much acceptance in the mainstream IT community where relational databases are pervasive.

XStore attempts to bridge this gap by implementing the client-side features of an object-oriented database while using a relational database as a storage engine. From the programmer’s perspective, XStore operates like an object-oriented database. Persistent objects are created, manipulated, and deleted much like transient objects with very little attention to the details of object persistence. Persistent objects automatically become part of the current transaction when they are created or loaded and any changes are automatically persisted when the transaction is committed.

XStore uses metadata to map class fields and associations to tables and columns in a relational database (RDBMS). Tools are provided for generating the mapping metadata as well as proxy and factory classes for persistent objects. XStore should work with any relational database that provides a JDBC driver supporting prepared statements. XStore has been tested with MySQL, SQL Server, and Oracle databases and with JDK 1.4, 1.4.2, and 1.5.



The latest archive (JAR, 109KB) is available.
404-382-9128 XAVAX info@xavax.com