Almost every web application today talks to a database and so at the start of each project, one question is surely going to come up. Which persistence technology to use?
I tried to google my way to the answer however either my google skills
are limited or the answer / a fair comparison of the available
technologies isn’t out there.
So I thought of making this blog
interactive. You post comments to this blog and state what you think is
for or against a particular technology. I will later compile all
suggestions into a tabular form. Keep your comments short so that they
can easily be placed in a tabular format.
Lets restrict the scope of the comparison to:
- CMP Entity Beans
Java persistence technologies. A comparison.between JDBC, Hibernate, CMP Beans and JDO
|1||Everyone knows it||Easy to learn||Ease of use||Vendor portable|
|2||Suited for small systems||Good performance||IDE support||Many vendors|
|3||Performance||JSR-220 (EJB3) persistence||Resume booster||Adopted by Apache|
|4||Stored procedure usage||Middlegen code generation||Middlegen code generation||Geronimo Integration|
|JDO vendors will support EJB 3 as well|
|6||Middlegen code generation|
|7||great help from vendors|
|1||Not backed by specification||Heavy and complex||Low acceptance|
|2||Have to learn on your own. Not enough help on forums||Steep learning curve||
Risky long term choice
|3||Few credible vendors|
|Other comments and suggestions|
|1||Prevayler (not listed) – Best if you are making a very small system (in terms of data size) that WILL NOT grow significantly and you dont’ need a RDBMS. Very easy to learn. Pure OO. Fast development. Excellent performance.|
What about IBatis?
|3||Forget the specs go with the best tool for the job. And there are way more tools then just hibernate.|
|4||I can’t say use this or that. Each has it’s advantages. Choose one and stick with it.|
|5||In the Torpedo benchmark, the top 2 performers are JDO implementations, beating out TOPLink, Weblogic CMP, and Hibernate.|
|6||Torpedo is a very useless benchmark.|