I've implemented the Persistence Layer using the Scott Ambler's
white paper as a design
source. You can get developer snapshots from the Download section.
Current implementation has the following features.
- Encapsulation of the persistence mechanism. You should only
call the save, delete, restore methods of your persistent objects and the
Persistence Layer will automatically perform an action with your database.
- Multiple object actions. You can retrieve and delete multiple
objects at once.
- Associations support. When you save delete or update any
object you can do the same action with associated objects.
- Inheritance support. Makes possible to map an inheritance tree
to a database schema.
- Transactions support. You can combine several actions into one transaction
and commit or rollback it as a single action.
- Multiple database support. Different objects can be mapped to
- Optimistic and pessimistic locking support
The Persistence Layer has all functionality for a stable release. Now I'll concentrate
on testing, code cleaning and documentation.