表現していて、集約の更新時に不整合が起きないようにロックをかけたいということも多い。おける参照や挿入、更新とトランザクション分離レベルやロックについて調べたのでまとめておく。(初心者が調べてみたぐらいの内容なので、指摘やコメント等頂けると嬉しいです!)調べた結果どうしたらいいかの個人的見解いろいろ調べた結論としては、個人的には以下のような感じがいいのかなーと思っている。参照だけであれば一貫性のある読み取りができる。仕様としてはファントムリードが起こり得るので、実装依存にしてよいと判断するかどうかは状況次第だと思うけども、多くの場合はそうするのが開発コスト的には一番安い気がする。存在すればそのままロックを保持して更新処理を行う。集約ルートに対する排他ロックを獲得しているので、他のトランザクションによる更新と衝突しない。トランザクション自体を再開してやり直すか、エラーということでそのまま処理を終了する。こちらも挿入に成功すれば排他ロックを獲得するので、そのまま処理を進めて良い。トランザクション自体のやり直しをどう設計するのかは難しいけど、トランザクションの扱いをアプリケーションレイヤの責務にすることが多いと思うので、アプリケーションレイヤでやるのがいいのかも。