Метод springrepository getById возвращает значение null, но findById возвращает данные

Я создаю объект в той же транзакции... позже в методе я использую метод getById репозитория данных Spring для получения объекта, он возвращает null, но когда я использую findById, он возвращает объект.

почему это происходит?

 @Transactional
    public void saveScanResultsForScan(ScanResult scanResult, Long scanId) {

        -----some---code----
       transientObject = create the object....
       apiScanRespository.save(transientObject);
       -----some-----code------

       apiScanRespository.getById(transientObject.getId()) -- this returns null

     apiScanRespository.findById(transientObject.getId()) -- this returns the object

    }

Где getById? это не похоже на интерфейсы весеннего репозитория

Darren Forsythe 15.05.2019 18:43
0
1
1 015
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В Spring Data JPA нет метода getById. Проверьте эту ссылку https://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa/repository/JpaRepository.html

У вас может быть класс apiScanRespositoryImpl, который просто возвращает null.

Спасибо за ответ, мы добавили метод getById в наш репозиторий. Проблема решена, это была проблема с базой данных, из-за которой данные не сохранялись в родительской таблице .... мы не установили правильную схему ... Поэтому при извлечении мы не получали результат ... Теперь это исправлено.

KuldeepJadhav 16.05.2019 13:54

отличный! Рад был помочь.

jese_moriarty 16.05.2019 18:55

Другие вопросы по теме