TJDO Feature List

JDO Specification version implemented 1.0.1 (+ some 2.0 features)
JDBC Driver Version Required >= 1.x

Required JDO features

Abstract class support Yes
Inheritance Yes
Transactional-transient fields Yes
Persistent-nontransactional objects Yes
Retain values Yes
Collections Yes
Arrays byte[] only
Map Support Yes
Class Enhancement
Persistence Aware classes Yes
Persistence Capable classes Yes
Serialization and cloning support Yes
Promotion of numeric operands for comparison Yes
Literal values Yes
Primitive and Wrapper types Yes
Filter operators (==, !=, <, >, <=, >=, &&, ||, ^) Yes
Object comparisons Yes
Arithmetic operators Yes
Casting Yes
Ordering Yes
Precedence scoping in filters ( ..(..)..) Yes
Equality and ordering comparison of date fields Yes
String methods: startsWith(), endsWith() Yes
Collection methods: contains(), isEmpty() Yes
Navigation through null valued fields Yes
Parameters Yes
Variables Yes
Object Life Cycle Management Yes
Data store object identity Yes
Local transactions Yes
makeTransactional() Yes
makeTransient() Yes
makeNontransactional() Yes
evict() Yes
refresh() Yes
retrieve() Yes
Soft cache strategy Yes

Optional JDO features

Application object identity No
Second Class PersistenceCapable objects No
Alternate query language Yes
Nontransactional reads Yes
Nontransactional writes No
Retaining values after transaction commit Yes
Optimistic transactions No
XA/Open distributed transactions No
Transactional transient Objects Yes
Application Server Integration No

Selected JDO 2.0 Features

Additional methods in queries Yes
Query.setResult(): Query projection, aggregation Yes
Query.setResultClass(): Query result objects Yes
Query.setGrouping(): Query result grouping Yes
Query.setUnique(): Unique query result Yes

Object/Relational Support

Generate schema Yes
Map to pre-existing schema No
Auto-create tables Yes
Auto-validate tables Yes
Map to views Yes
Support one-to-one mappings Yes
Support one-to-many mappings Yes
Support many-to-many mappings Yes
Support one-to-many map mappings Yes
Support many-to-many map mappings Yes
Support serialized mappings No