EntityMetadataNotFoundError: При использовании класса в TypeORM не было найдено метаданных для «Пользователя».

#typeorm

Вопрос:

Выше головы. Я видел много постов, в которых люди сталкиваются с одной и той же проблемой, но у меня совершенно другой случай. Так что, я думаю, это не дубликат.

У меня есть такой класс обслуживания, как этот:

 export class UserService {
  private userRepository: UserRepository

  constructor() {
    this.userRepository = getCustomRepository(UserRepository)
  }

  public index = async (id: number) => {
    const user = await this.userRepository.findOne(id)
    return user
  }
}
 

Когда я запускаю приложение, оно возвращает эту ошибку:

 EntityMetadataNotFoundError: No metadata for "User" was found.
 

И нет, это не потому, что typeorm не может найти мои сущности. Когда я пишу его без объявления в конструкторе, он работает нормально:

 export class UserService {    
  constructor() {
  }

  public index = async (id: number) => {
    const user = await getCustomRepository(UserRepository).findOne(id)
    return user
  }
}
 

Это выполняется без каких-либо ошибок.

мой tsconfig

 {
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "moduleResolution": "node",
    "lib": [
      "dom",
      "es6"
    ],
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "noImplicitAny": true,
    "sourceMap": false,
    "removeComments": true,
    "strict": true,
    "baseUrl": ".",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "strictPropertyInitialization": false,
    "allowJs": true,
    "checkJs": false,
    "declaration": false,
    "rootDirs": [ "." ],
    "outDir": "../src"
  },
  "include": [
    "./**/*"
  ],
  "exclude": [
    "node_modules"
  ]
}
 

Any idea why?