JPAは業務設計とDB設計の分離が不可能

クラスの定義にアノテーションでデータベース構造を記述しなきゃならんわけで、それって設計の分離というか、設計成果の分離が出来ないじゃないかと思う。

一人で試用してる分には業務設計とDB設計の分離なんてそもそも不要だし、両者の記述が近いアノテーション記法は書きやすいし判りやすい。

しかし、業務モデル設計とDB設計を別々のグループに分けて開発を進めたいときは、業務クラスにDB設計を記述する分、両グループ間のコミュニケーション量は相当多く必要になる。他のグループの成果物を他のグループが変更することは極力避けるべきだし、結局、業務設計グループが終わらないとDB設計グループは終われない、逆もまた然りな密結合と化し、システム的にも当然密結合となると想像できる。疎結合を保てるのは、Javaオブジェクトっていうスコープのみ。

と言ったところで、そもそも、業務モデルとデータモデルを分けて設計してる現場ってどれだけあるのか、わかんないですけどね。XMLによるマッピングの記述よりはよっぽど早くて簡単で明快だし、現場で使いやすいとは思います。