When I was trying to decide on iBATIS vs. Hibernate for my current
project, it came down to this:  Our DBAs require that all SQL sent to
production databases be reviewed/analyzed/tuned before being placed into
production.  This forced us into "human written SQL"  I think this is
not an uncommon requirement in any kind of reasonably sized system.

We also have a domain model that is far different from our DB model -
that alone may have pushed me in the iBATIS direction.

Maybe we should publish some kind of "Is iBATIS Right for My Project"
decision tree.  I think it would look like this:

If Your data store is a relational database
  && You are not trying to reuse an existing database designed for
other applications
  && Your domain model is a reasonably close match to your DB model
  && Your developers have good control over DB design without DBA
"enhancements"
  && Your DBAs do not require SQL reviews
  && Your developers are weak with SQL
Then some kind of ORM tool (Hibernate, OJB, JDO, EJB3, etc.) could
possibly be right for you
Else - iBATIS is probably a better choice

Not that I'm biased or anything :)

Jeff Butler

Reply via email to