DAOの目的って、ロジックからデータアクセスを分離することにあるわけじゃないですか。
もしデータベースが変わったとしても、DAOだけ修正すれば良いよね、ってのが利点だと理解してます。カプセル化ってやつですね。
なので、SQL例外もちゃんとロジックから分離してほしいわけですよ。私としては。

だってDAOを越えて例外処理が点在してたら、データベースをKVSに変えた場合には点在するすべてのSQL例外を書き直ささなきゃいけないんですよね。それって面倒くさい。
せめて抽象的な例外に詰め直そうぜー、って思うんですよ。

…って言うことを実装メンバーに主張したんですが、いまいちピンと来てないようです。説明がヘタなのかな。悲しいです。
そんなわけで、DAOでSQL例外を出さない方が良いことを明示しているサイトを探してみました。

上級DAOプログラミング

DAOメソッドはjava.sql.SQLExceptionをスローしてはならない。SQLExceptionは低レベルのJDBC例外です。DAOはアプリケーションの他の部分に対してJDBCを見えるようにせず、むしろ積極的にカプセル化すべきである。

サルでもわかる 逆引きデザインパターン

データベースアクセスでは、SQLExceptionをキャッチしなくてはならないときが多くあります。 そのキャッチしたSQLExceptionを再度throwしていると、ビジネスロジックまでSQLExceptionが投げられてしまい、ビジネスロジックにJDBCのAPIが混入してしまうことになります。 この場合、SQLExceptionをキャッチしたら、別の例外に置き換えて、投げ直さなければなりません。

三つくらい挙げたかったけど、そんなに躍起になって探してもアレなのでこの辺にしときます。