We have been around since Hibernate. So we didn't write iBATIS because we thought we could beat HIbernate. Apart from that iBATIS and Hibernate address different concerns. In a nutshell iBATIS is value based and Hibernate is concerned with object identity. The other distinction is that we are a SQL Mapping framework not a Table to Object mapping tool. We take a different approach to a similar problem.
A couple other points that I think would make iBATIS attractive to developers and companies: - iBATIS has a small learning curve. - iBATIS is SQL based and therefore those who prefer to write their SQL will feel very comfortable with it.
I agree that the iBatis learning curve is not as steep as in hibernate. I feel productive in iBatis and I always feel confused in Hibernate. Also iBatis gives you more control of your SQL. Tom