Dave Johnson on open web technologies, social software and software development
... 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 |
Dave Johnson in Java
02:44PM Oct 13, 2002
Comments [5]
Tags:
Java
I think my Blogging is Difficult post was a little corny, overdone, and maybe gave people the wrong impressions. Writing things for my weblog is not difficult like some painful chore that I dread to do each day. It is quite the opposite. I enjoy it and sometimes I have to hold myself back.
What makes blogging difficult is that sometimes I write things that I later feel to be stupid and embarrasing. I think I'm being little too sensitive and self-conscious about this. My readers probably don't even notice the things that I consider to be stupid and embarrassing.
Another thing that makes blogging difficult is mixing the professional and the personal. Part of the reason that I write a weblog is professional. I want to improve my communication skills and I want to build a reputation as a software architect and developer. Again, I think I'm being too sensitive. I don't worry about the effect on my professional image of wearing shorts & berkenstocks, taking breaks for disc golf, and cranking up the Clash at work. So why should I care about having some fun on my weblog? As long as I don't mention my employer by name and I speak about work only in vague generalities, I'm fine - right?
I'll stop the meta-blogging/navel-gazing now and return you to my normal disjointed ramblings. That is what I promised and that is what I will deliver.
Dave Johnson in General
04:27AM Oct 13, 2002
Comments [0]
Tags:
General