getTeamMapping должен получать данные из метода Spring-Data-JPA или нет? - PullRequest
0 голосов
/ 07 февраля 2019

Посмотрите на приведенный ниже код

teamMappingEntity = (List<TeamMappingEntity>) adminUtilityRequest
    .getTeamMappingRepository()
    .findAllByUserEntityAndIsDeleted(userEntity, Boolean.FALSE);

Я получаю NullPointerException в этой строке, потому что getTeamMappingRepository в AdminUtilityRequest классе - null на данный момент.Но что я не понимаю, так это если я вызываю метод Spring-Data-JPA findAllByUserEntityAndIsDeleted в приведенной выше строке, данные, которые я получаю с помощью метода Spring Data JPA, должны быть сохранены в getTeamMappingRepository, но это не так.ПОЧЕМУ ????

Хотя эта строка работает нормально.

teamMappingEntity =  teamMappingRepository
    .findAllByUserEntityAndIsDeletedFalse(userEntity);

Любое объяснение будет оценено.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

если я вызываю метод Spring-Data-JPA findAllByUserEntityAndIsDeleted в приведенной выше строке, данные, полученные из метода Spring Data JPA, должны быть сохранены в getTeamMappingRepository, но это не так.

Нет.findAllByUserEntityAndIsDeleted вернет некоторые данные.Вот и все.Это нигде не будет храниться.И, конечно, не в getTeamMappingRepository:

  1. Это метод.Вы не можете хранить что-либо в методе.Для этого вам понадобится поле.
  2. Это неправильный тип.findAllByUserEntityAndIsDeleted возвращает List, но getTeamMappingRepository возвращает хранилище.Две совершенно разные вещи.
  3. findAllByUserEntityAndIsDeleted не содержит никакой информации о существовании getTeamMappingRepository.Он не может каким-либо образом манипулировать им.

Ваша настоящая проблема в том, что в adminUtilityRequest нет репозитория.Нам нужно посмотреть, что вы сделали, чтобы получить хранилище.

Возможно, вам не хватает аннотации @Autowired, или adminUtilityRequest не является компонентом Spring, поэтому в него ничего не вводится.

0 голосов
/ 07 февраля 2019

Возможно, в вашем adminUtilityRequest необходимо добавить аннотацию @Autowired для атрибута "teamMappingRepository"

Если аннотация существует, возможно, ваш объект "adminUtilityRequest" был создан вручную вне контекста Spring.Должно быть хорошо, вы рассмотрите, кто этот объект создан.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...