NestJS · Senior · Pytanie 23 z 75
Jak utrzymać spójność transakcji między kilkoma serwisami w jednym żądaniu bez przekazywania obiektu transakcji wszędzie?
- ✓Poprawna odpowiedź: Trzymać transakcję (lub entity manager) w ALS, a repozytoria niech ją podchwytują, np. przez
@nestjs-cls/transactional - 2Otwierać osobną transakcję w każdym serwisie
- 3Używać repozytoriów request-scoped dla każdej encji
Wyjaśnienie
ALS wiąże transakcję z asynchronicznym przepływem żądania, więc zagnieżdżone wywołania serwisów do niej dołączają.