гугли object/relational impedance missmatch.
в общем случае (если мы не про агрегаты) identity map нужен для кейсов типа...
SELECT * FROM comments c LEFT JOIN users u on u.id=c.author_id
в этом случае тебе для нормализации резалт сэта надо что-то что будет убеждаться что референс на объект тот что нужен. При этом никто не мешает тебе потом по логике приложения просто по айдишке того же юзера забрать и ты хочешь что бы в памяти приложения референсился один и тот же объект.
Это очень важно когда у тебя граница транзакции не агрегатами представлена а каким-нибудь сервисом который просто грузит данные и работает с ними как с объектами.