Wednesday, October 16, 2002 | |
Java Persistence Frameworks, again.
2002-10-12: Rebelutionary - Re: OFBiz Turning OO on its head?
2002-10-10: James Strachan - Commons SQL 2002-10-10: Jason Carreira - Commons SQL 2002-10-10: BeBlogging - Java Persistence Frameworks 2002-10-10: ::Managability:: - OBiz Turning OO on its head? 2002-09-23: Rebelutionary 2002-09-22: Joe's Jelly: ROI on O/R bridges 2002-07-19: Rebelutionary - Portable CLOBs 2002-07-15: Blogging Roller - Java Persistence Frameworks ... 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... Top-down: Start with an existing JavaBeans object model, develop a mapping that maps those objects to tables in your database, generate DDL to create your database, and then use a persistance API to persist those objects to that database. Bottom-up: Start with an existing database schema, describe your database schema using using XML or some other meta-data representation, generate your JavaBeans object model, optionally add business logic to those objects, and use a persistence API to store and retrieve your objects. Middle-out: Start with a meta-data description of your object model, generate your JavaBeans object model, generate DDL to create your dataBase, and use a persistence API to store and retrieve your objects. Meet-in-the-middle: Start with an existing database schema and an existing JavaBeans object model, develop a mapping to map between the two, and use a persistence API to store and retrieve your objects.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. I think the Hibernate guys have really nailed it. Every tool I have seen supports one or more of these scenarios. So I decided to use these scenarios as a way to compare the available Java persistence frameworks. I started to build a table to compare the scenarios supported by the various persistence frameworks and some other factors that I think are important interesting (thanks ceperez): support for the JDO API, support for ODMG API, development activity, and database support. Here is the first cut of my comparson table, I will be trying to complete it over the next couple of days:
Footnotes:
8:09:26 AM |