advanced
Identity map
Держите one in-memory object per database row внутри request context для identity и change tracking.
Identity map гарантирует: одна строка БД → один экземпляр объекта в scope запроса. Поддерживает отслеживание изменений и согласованные object graph в Data Mapper ORM.
Fork запроса
load Order#1 → экземпляр A
снова load Order#1 → тот же экземпляр A
На интервью: scope запроса, идентичность сущности, stale reads, сериализация, опасность глобального entity manager.
Типовые ошибки: общий identity map между запросами и утечка состояния пользователей; detached-сущности не как plain DTO.
Компромисс — согласованность object graph против дисциплины scope.
Чеклист:
- Identity map на запрос.
- Attached vs detached.
- Без глобального mutable persistence state.
- Очистка контекста после запроса.