Blogging Roller
Dave Johnson on social software, open source and Java
Dave Johnson on social software, open source and Java
... 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 |
Tags: Java
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 #