Is your data model is in sync with relationl model? Then use Hibernate
iBatis maps result sets to objects, which is independent of table structures.
iBatis suits for any reporting applications & comple stored procedures. Learn iBatis
In complex applications practice both hibernate & iBatis gives good results.
Listen to this article