/note/tech

CQRS の Command の途中で発生する「○○ に INSERT した結果の主キーを使って △△ から SELECT する」...

CQRS の Command の途中で発生する

「○○ に INSERT した結果の主キーを使って △△ から SELECT する」

ってやつどうしたらいいの?もっかい UseCase に制御戻すの?それとも主キーの findById() だけ Repository に含めていいの?散らばるの辛くね?

@mpyw

どういう処理をしたいのかによるところが大きいけど、仮に「INSERTしたレコードの主キーでクエリを発行して、その結果で更に何かしら処理をする」という話なら、INSERTの処理とその主キーでクエリを発行して(ryの処理は別のマイクロサービスとして実装するかな。

INSERTを担当するCommand役のマイクロサービスから、次のCommandマイクロサービスをキックするイメージになるだろうか。

必然的に分散トランザクションになるので設計/実装難易度は上がってしまうのだが。