検索処理がロジックの大きなポイントになるのなら、S2DaoやiBatisの方がいいだろう。
しかしロジックをドメインモデルで構築し、Entityに複雑な処理をやらせたいのなら、
HibernateやJPAの方が向いている。
両者は力を入れているポイントが異なるので、適用したいシステム要件と合わせて検討すべき