Репозитории создаются как одиночные, поэтому существует только один экземпляр для EntityManager
экземпляра. Вы должны разветвить этот EM, чтобы иметь один экземпляр на запрос, либо вручную, либо через RequestContext
middleware:
https://b4nan.github.io/mikro-orm/identity-map/
Таким образом, каждый запрос будет иметь свой собственный EntityManager
, который будет иметь свой собственный кэш экземпляров репозитория.
Имейте в виду, что если вы используете RequestContext
, вы должны получить от него запрос EntityManager
и получить оттуда хранилище:
// beware that this will return null if the context is not yet started
const em = RequestContext.getEntityManager();
// gets request specific repository instance
const repo = em.getRepository(Book);