さまざまな永続化フレームワークを簡単に切り替えることができる Spring DAO の典型的なユースケースは何だろうと思っています。
定型コード (JDBC や Hibernate など) を抽象化する以外に、アプリケーションで ORM フレームワークを頻繁に変更する必要があるのはなぜでしょうか?
DAO の背後にある本当に重要なアイデアは、特定のエンティティのすべてのデータ アクセス関連のコードが配置されている場所が 1 か所しかないということだと思います。これにより、永続化レイヤーのテストとリファクタリングが容易になり、コードが読みやすくなります。
さらに、コードが読みやすくなります。機能を実装する必要があるチームの新しい開発者について考えてみてください。データベースにアクセスする必要がある場合は、dao でデータ アクセス方法を調べます。異なるサービスにデータ アクセス コードを分散させると、誰かがコードの重複を生成するリスクが非常に高くなります。