... and that is just a few of the recent posts ...
The topic of Java persistence frameworks just keeps on trucking
through the Java blogs. I think that the reason the topic keeps
coming up is that there is no clear concensus on the "right way" to do
persistence. I certainly don't know the right way. But anyway...
I'd like to understand the available tools a little better, so I've
started looking at the tools mentioned in the above posts. I
found the feature comparison on the Cayenne project's Wiki
to be helpful and I also found a very nice set of Java persistence
framework development scenarios on the Hibernate website.
The Hibernate folks have outlined four development scenerios for
using a Java persistence framework: top-down, bottom-up, middle-out,
and meet-in-the-middle. Here is my generalized description of
these four scenarios, plus a
fifth "generic-object" approach that I have added to accomodate OFBiz-EE:
Generic-object: Start with a meta-data description of your desired database schema, generate DDL to create your database, and use a persistence API to store and retrieve generic data objects, with values stored as a hash of name-value pairs, to and from your database.
| Abra |
Castor JDO |
Cayenne | Commons SQL |
Hiber -nate |
Jakarta OJB |
OFBiz EE |
Jakarta Torque |
TJDO | |
| Top-down | Y |
Y |
Y |
Y |
Y |
N |
N |
Y |
|
| Bottom-up | Y |
N |
Y |
||||||
| Middle-out | Y |
Y |
Y |
Y |
N |
Y |
|||
| Meet-in-middle | Y |
Y |
N | N |
|||||
| Generic-object |
Y |
||||||||
| JDO API |
N |
N |
N |
N |
N |
soon | N |
N |
Y |
| ODMG3 API |
subset |
N |
N |
Y |
Y |
N |
N |
||
| License | BSD | BSD | BSD |
APL |
LGPL |
APL |
BSD | APL | APL |
| Last release | 0.9.6 Sept 2002 |
0.9.4.1 November 2002 |
1.0a3 Sept 2002 |
1.1.4-b Oct 2002 |
2.0-b2 July 2002 |
2.0-b Sept 2002 |
|||
| SF Activity |
19.4% | - |
98.3% |
- | 99.9% |
- | 98.9% | - | 95.3% |
| SF Downloads | 7 |
- |
2698 |
- |
775 |
- | 86869 |
- | 278 |
| Developers | 3 |
3 |
3 |
11 |
17 |
11 (1) |
10 (2) |
7 |
|
| MySQL | Y |
Y |
Y |
Y |
Y |
Y |
Y |
||
| PostgreSQL | Y |
Y |
Y |
Y |
Y |
Y |
|||
| HSQL | Y |
Y |
Y |
Y |
|||||
| Oracle | Y |
Y |
Y |
Y |
Y |
Y |
Y |
||
| SQL Server | Y |
Y |
Y |
Y |
|||||
| DB2 | Y |
Y |
Y |
Y |
Y |
Y |
|||
| Sybase |
Y |
Y |
Y |
Y |
Y |
Y |
This work is licensed under a Creative Commons License.
Copyright 2002-2007, David M Johnson (dave.johnson at rollerweblogger.org)
This is a personal weblog, I do not speak for my employer.

Buy now from Amazon.com
Or direct from Manning
| « September 2008 | ||||||
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
1 | 2 | 4 | 5 | 6 | ||
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | ||||
| Today | ||||||
Allen Gilliland
Anil Gangolli
Dan Axon
Danese Cooper
Film Babble Blog
Geertjan's Weblog
Henri Yandell
James Robertson
Jim Grisanzio
Josh Staiger
Linda Skrocki
Pat Chanezon
Rama
Ruby Sinreich
Simon Phipps
Tim Bray
Will Snow
Janne Jalkanen
Joe Gregorio
Matt Raible
Mike Cannon Brookes
Rafe Colburn
Sam Ruby
Simon Brown
My other sites
Posted by David Bridgewater (Leeds, UK) on December 08, 2002 at 04:04 PM EST #
Posted by David Bridgewater (Leeds, UK) on December 08, 2002 at 04:06 PM EST #
Posted by Aaron on August 17, 2003 at 12:24 AM EDT #
Posted by Dan Moore on February 25, 2004 at 05:14 PM EST #