A simple, inexpensive Java based PersistenceEngine that supports AtomicConsistentIsolatedDurable transactions through MultiVersionConcurrencyControl?.
One drawback is that it requires that every persistent object to be derived from a single DBObject class AND every method must include one of two method calls: One method call indicates the method is read-only and the other indicates the method modifies the object's state somehow.
To its advantage, Jyd provides an explicit mechanism to support schema evolution.