Win a copy of Pipeline as Code this week in the Cloud/Virtualization forum!

Timothy Toe

Ranch Hand
+ Follow
since Oct 19, 2002
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Timothy Toe

1st of all, thanks to Clinton, Brandon & Larry for dropping in at Javaranch.

WOW ! Thanks for selecting me !
I had just sent my email containing my details.

Congratulations to all other fellow winners !
[ December 11, 2006: Message edited by: Timothy Toe ]

That said, I do know a lot of people who choose iBATIS even when they are starting from scratch.

I never like the idea of generating the DB schema. DB design, to me, is far too important for it to be generated. Even if I start from stratch, I like to design & normalise the DB 1st (and not the OO design). As such, I think iBatis is more suitable for me than the OO-centric Hibernate.
May I know of any well-known examples of production deployment of iBatis (eg web apps etc) ? This would give much confidence to people like me who are learning up iBatis.


However, modern best practice suggests that we should be caching as high up in our application layers as possible anyway. In other words, performance benefits gained by caching are greater at the presentation tier than they are at the persistence tier, and we probably shouldn't cache things twice. Therefore, I'd suggest caching at the web tier almost exclusively, and writing business specific caches at your logic/service layer on a case-by-case basis. This allows the database to do its job without introducing the complexities of a clustered caching solution.

AFAIK, this best practise is not discussed/mentioned very often. Thanks for pointing that out.
AFAIK there is no hard and fast rule on how to categorize a tool as an ORM tool or not.

I think any tool that attempts to bridge the gap or assist in bridging the OO-Relational DB gap can be considered to be in the ORM space.

Some ORM tools automate more and some less, that's all. Those that automate more usually tradeoff performance ... and those that automate less usually give more fine-grain control.

One good thing I find in iBatis is that, it does not invent/introduce its own query language (Entity Beans has its own EJB-QL and Hibernate has its own HQL). iBatis, instead, encourages you to code with the very mature, industry standard, SQL. This reduces the learning curve considerably and also make learning it a worth while effort as you'll never go wrong learning SQL - you know what you learn will last a longer time.

Feel free to correct me if any fact above is wrong.
From the manning page, I saw that currently, the whole/complete text is available under the "Manning Early Access Program" - in softcopy (pdf) form.

trying to play the piano wearing mittens

Bibeault, this phrase of yours is funny

It turned out to be quicker and easier for me to use straight-up JDBC. I'll think I'll be giving iBATIS a shot in my next DB-centric project.

Ya... for people who are used to coding against the DB with SQL etc, iBatis is more suitable than Hibernate with iBatis giving more control...and Hibernate can be frustrating. But then Hibernate is there for those who don't want to bother themselves with DB details.

I personally like SQL/JDBC...and so, I naturally liked what I find in iBatis.

The book is Java focused.

Good for Java guys then. By the way, just curious, how did iBatis started ? Did it start from Java then "spread" to .Net and Ruby ?

Thanks again.
Brandon, thanks for the reply.

Another note is that we have .NET and Ruby implementations of iBATIS.

Does iBATIS in Action cover all 3 implementations ? Do you intend to have 3 different books for each implementation ?

If so, do you think it's easier to handle than Entity Beans or Hibernate.

From my little experience with iBatis:
- I find that it is definitely "easier", as in less complex, than Entity Beans 2.x. Hibernate is also "easier", than Entity Beans 2.x.
- I find that iBatis is "easier" than Hibernate. Hibernate tries to shield everything about the DB from the OO programmer. This can be frustrating if you like to write SQL and deal with the DB yourself, having more control etc.

For me, iBatis may be the tool that strikes the right balance between OO and DB, giving you much control over DB stuff like SQL and yet free you from doing low-level JDBC coding.

Having said that, it really depends. If you are not familiar with DB/SQL stuff and want to think in terms of OO programming only, then Hibernate may be "easier" to you/may be more suitable for you.

But then, I am still learning iBatis... What I can say is, I like what I see in iBatis so far.
[ December 05, 2006: Message edited by: Timothy Toe ]

I have heard from our users that iBATIS is easier to learn.

I agree.

Nakata kokuyo,
You may want to take a look at this simple 8-page pdf tutorial (with good clear sample) to get started. This tutorial is straight to the point and simple & it shows how simple iBatis can be
(This is from the iBatis official site at
[ December 05, 2006: Message edited by: Timothy Toe ]
I am glad a book such as "iBatis in Action" is coming out soon. I have tried using iBatis and I liked the experience.

I find Hibernate too focused on the OO side of things and somehow neglected the fact that we are still dealing with 2 dimensional relational DB. I find that iBatis balances the focus by not trying to shield the programmer from the DB completely (like what Hibernate is trying to achieve).

The fact is, the DB is still central to many applications. And the RDBMS is often the most expensive single piece of software in an app system.

As far as I know, Hibernate is currently taking the lead in the Object Relational Mapping space. To the "iBatis in Action" authors, do you see iBatis overtaking Hibernate in the near future ?

I like iBatis and I would really like to know the future of iBatis... at least from the eyes of the authors.

[ December 05, 2006: Message edited by: Timothy Toe ]
I guess we at Javaranch are a lucky bunch to have book authors discussing Java stuff with us.

I hear that EJB 3.0 has its roots from Hibernate. But how different EJB 3.0 is from Hibernate as at today ? How have they diverged ?