Я создаю объект в той же транзакции... позже в методе я использую метод 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
}
В Spring Data JPA нет метода getById. Проверьте эту ссылку https://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa/repository/JpaRepository.html
У вас может быть класс apiScanRespositoryImpl, который просто возвращает null.
Спасибо за ответ, мы добавили метод getById в наш репозиторий. Проблема решена, это была проблема с базой данных, из-за которой данные не сохранялись в родительской таблице .... мы не установили правильную схему ... Поэтому при извлечении мы не получали результат ... Теперь это исправлено.
отличный! Рад был помочь.
Где
getById? это не похоже на интерфейсы весеннего репозитория