Jeff, Just for an argument ;) -- you are understating powers of iBatis ;) iBatis can return list of objects running multiple susbselects for each row (<property column= select= /> ) - something you'd have to do manually in pure JDBC. In fact, I'd go further allowing inserting object with list properties in a single sqlmap method using somethimg similar to subselects, but thats another story.
I understand you philosophy, but I'm trying to look from practical point of view - the less boilerplate code in my app, the happier I am, quite a selfish approach ;)