>>66

>O/Rマッパーとは"オブジェクトとDBのデータを相互に変換するツール"と認識しているが
>なんでS2DaoやiBatisがなんちゃってO/Rマッパーになるのか分からない

JPA、hibernate、EntityBeanは1次キャッシュの機能がある
(つまり、UinitOfWorkをアーキテクチャの原則としている)

S2Dao、iBatisにはそういう機能はない

この違いを表現するのに"なんちゃってO/Rマッパー"と言っているだけ。
ほかに良い表現方法があればそれを使うけど、特にないのでそう言っている。

で、使い分けについては、細かい機能の差異はともかくとして、
"1次キャッシュ"を採用する・しないがアーキテクチャレベルでの最も大きなポイントになる。
だからそこを議論の中心にするのが当然のことでしょう。
その代表格としてhibernateをあげているだけのこと。

>上に書いたようにどうもO/Rマッパーの認識に差があるように思えるが、それはいいとして
>これは本来こうあるべきだという理想の話をしているのか?

アーキテクチャを構築するとき、実装はともかくとして、思想レベルでどうしたいかまず考える。
で、オブジェクトを中心としたアーキテクチャにしたい場合にhibernateなどのO/Rマッパーの採用を考える。
で、数々の指摘の通り、hibernateを使いこなすにはかなりのスキルが必要。
だけど、がんばれば思想に近いものを実装レベルで表現できる→ゆえにhibenrateを使う。

というのが、hibenrateを使う人の思考回路でしょう。