| - | Java to SQL mapping (object/relational) automates Java persistence
into any relational database server using JDBC |
| - | Java to SQL mapping uses an XML document to specify the mapping
textually, and provides an API to specify them programatically |
| - | Supports one-one and one-many relation types, SQL/Java inheritance,
object graph to single row mapping, and multiple column primary
keys and automatic type conversion |
| - | Optimistic and pessimistic locking modes, in-memory concurrency
engine, and dead-lock detection |
| - | Provides support for EJB 1.1 CMP entity beans (release 0.9)
and CMP finder declaration using OQL |
| - | Efficient implementation incurs little overhead compared to
direct JDBC access |
| - | Support for JTA transaction demarcation, inclusion as resource
in transactional environment, and JDBC connection pooling
(release 0.9 integrated with Tyrex) |
| - | Cache control at JDO configuration and mapping file specification - no-cache option,
cache object limit, cache time limit, LRU removal deamon |
| - | New architecture separating the responsibility of the CacheEngine from
that of the persistent object, in order to better support relations
(especially many-many) and better handle dependency object commits. |
| - | Multi column primary keys and contained objects. |
| - | Mapping file supporting object dependency and relations. |
| - | Serializable field type |
| - | Calling Stored procedures returning result sets |
| - | Support for many data types, including BLOBs and CLOBs |