ドメインレイヤーとデータストア

データマッパーによるドメインモデルにおいて、ドメインレイヤーは「データストア」を意識しなくて良い。SQL だの テーブル構成だの、そんなの気にしなくていい。
でも、「データストアの存在」までも意識しなくて良いのか?
というのも、同時実行制御を行う時、同時実行例外が発生したことを、ドメインオブジェクトが通知できなくなってしまうからだ。
今勉強用に図書管理システムを作っているんだけど、受付係クラスの貸出メソッドで楽観同時実行制御を行っている。プレゼンテーションレイヤーがこの貸出メソッドを呼び出すと、裏ではデータマッパーが DB の更新を行う。この時、同時実行例外が発生する可能性があるわけだが、ドメインレイヤーがデータストアの存在を意識しないのならば、貸出メソッドが同時実行例外をスローするということをプレゼンテーションレイヤーが知っているわけにはいかない。
メソッドがスローする可能性のある例外を伝えるには、.NET の場合 XML コメントを (一般的には) 使用する。Java なら検査例外を使用する (らしい) 。ドメインレイヤーがデータストアの存在を意識しないのならば、受付係クラスの貸出メソッドの XML コメントに同時実行例外を記すわけにはいかない。なので、プレゼンテーションレイヤーが同時実行例外のスローを知っているわけにはいかないということになる。


ドメインレイヤーがデータストアの存在を意識せずに、この問題を解決する方法は今のところ思いつかない。
でも、楽観同時実行制御は、同時実行が発生する確率が低い場合に適用するものだ。だから、プレゼンテーションレイヤーが同時実行例外を知らなくても良いという考え方もできる。・・・でも本当にそれでいいのだろうか?