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:
- JDBC
- Hibernate
- CMP Entity Beans
- JDO
Java persistence technologies. A comparison.between JDBC, Hibernate, CMP Beans and JDO
| JDBC | Hibernate | CMP Beans | JDO | |
|---|---|---|---|---|
| Plus | ||||
| 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 |
| 5 |
Batch updates/inserts |
JDO vendors will support EJB 3 as well | ||
| 6 | Middlegen code generation | |||
| 7 | great help from vendors | |||
| Minus | ||||
| 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 | |||
| 4 | ||||
| 5 | ||||
| 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. | |||
| 2 |
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. | |||



