ibatis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Larry Meadors <larry.mead...@gmail.com>
Subject Editorial comments on http://mindprod.com/jgloss/or.html
Date Fri, 29 Jul 2005 12:26:38 GMT
There is some discussion on that page of iBATIS and it's relationship to 
Hibernate that seems inaccurate to me (I mean besides that it is talking 
about iBATIS being an ORM tool).

While iBATIS does involve a lot more SQL work than Hibernate and a lot less 
conceptual understanding, I would not say that it "leaves you to solve more 
of your own problems".

In my experience with the two, I found that iBATIS does leave you to deal 
with object identity and concurrent updates on your own...but that is about 
it in terms of things that Hibernate does for you.

You do have to write your own SQL, but when it comes to mapping an 
*existing* database to an object model, iBATIS wins hands-down *because* of 

This quote: "iBATIS basically seems to be about mapping a ResultSet to an 
object, and nothing else. Hibernate is more concerned with the hard 
problems: caching and connection pooling" is a bit insulting and totally 
inaccurate. Out-of-the-box, iBATIS includes tools to do all of that.

This quote is also a bit misleading: "representing relationships between 
entities in a very flexible and customizable way". Again, in my experience 
using Hibernate on a very large project with an existing database, I found 
that the amount of coding and configuration with Hibernate made it almost 
unusable, and totally infeasible. For example, one part of the application 
was written with Hibernate, and took 15 *minutes* to load, we rewrote it 
with iBATIS (and a stored procedure) and got it under 10 seconds...that is 
flexible and customizable. :-)

"iBATIS appears to be mostly about avoiding the effort of writing repetitive 
glue code from JDBC" - partially true...

"Hibernate is about abstracting away from JDBC and treating data according 
to the object model instead." - partially true again....

iBATIS tool is changing, and becoming a more general purpose data mapping 
tool. While in its current incarnation, it is primarily used for SQL (I have 
used the iBATIS DAO layer for LDAP, too) the next release will be much more 
pluggable in terms of the data source - JDBC, LDAP, MP3 files on a file 
system, whatever. I think I would say iBATIS is more about mapping queries 
to objects, and at the same time, Hibernate ONLY works with JDBC.

Reading this, I was reminded of the work that we have in front of us. People 
still see iBATIS in the same space as ORM, and that is just so not true.


View raw message