Welcome to the TJDO Project Page


TriActive JDO (TJDO) is an open source implementation of Sun's JDO specification (JSR 12), designed to support transparent persistence on most JDBC-compliant databases. TJDO has been deployed and running successfully in commercial installations since 2001.

The current version has been tested successfully using Derby, DB2, Firebird, MySQL, Oracle, PostgreSQL, and MS SQL Server.


  • Works with JDK 1.4 and above.
  • Supports JDO 1.0.1, with some Query features from 2.0.
  • Implements the entire 1.0 JDOQL query language, including several useful method enhancements.
  • Auto-creates all necessary schema elements (tables, foreign keys, indexes) according to your app's classes and JDO metadata.
  • Auto-validates expected schema structure at runtime, reducing failures from schema evolution.
  • Can map Java classes to SQL views, and allows for direct SQL queries, to leverage SQL capabilities not normally accessible through JDO.
  • Designed to be lightweight and fast.

Design Goals

As an O-R mapper TJDO falls under the category of schema generators, meaning it takes your user-written Java classes and, to the degree possible, fully automates the tasks required to transparently persist objects to a database. Although there are several ways to "tweak" the mapping strategy, for the most part the developer delegates these tasks to the JDO layer.

Schema generators are best suited to projects whose persistent data model is being newly developed, or perhaps fully refactored, and whose developers would prefer to design mostly from an object rather than a relational point of view.

TJDO was initially designed to support TriActive's web-based system's management service, and has done so since 2001. The most important project goals over time have been stability and scalability, often at the expense of newer features. Those features that are implemented are tested extensively.

As an example of scalability, TJDO expends a lot of effort internally to minimize memory usage, such that literally thousands of large database schemas can be in-use concurrently with little memory cost.

Getting Started

New users can start by downloading the latest version and including the required jar files in their classpath. The tutorial, documentation, and the JDO API Javadocs are good places to begin when exploring TJDO. If you have any questions, comments, or problems please consult the docs or use the TJDO forums on SourceForge.


April 4, 2008

After a long hiatus, a new version 2.2 has been released. It still utilizes the JDO 1.0.1 API but includes a couple of the compelling JDO 2.0 features (query projection, aggregation, etc.) See the release history for details.

Direct questions/comments to the TJDO Project Administrator.
Last Updated: $Date: 2008/04/04 19:31:21 $