Я пытаюсь создать неблокирующий сервис отдыха с помощью Spring Boot и Spring data JPA.Почему Spring-Data-JPA Async не работает?
Как сделать Async сохранить объект с данными Spring JPA @Async. Ниже код не работает для меня, хотя другие функции, похоже, работают над одним и тем же объектом.
Я пытаюсь сделать это в репозитории JPA. Вот полный репозиторий: кроме сохранения. Эти методы работают отлично, и я мог проверить их
public interface LoanRepository extends JpaRepository<Loan,Long> {
@Query("select distinct loan from Loan loan left join fetch loan.collaterals left join fetch loan.partys")
@Async
CompletableFuture<List<Loan>> findAllWithEagerRelationships();
@Query("select loan from Loan loan left join fetch loan.collaterals left join fetch loan.partys where loan.id =:id")
@Async
CompletableFuture<Loan> findOneWithEagerRelationships(@Param("id") Long id);
@Async
void delete(Long id);
}
Однако, когда я пытаюсь добавить ниже метод сохранения:
@Async
<S extends CompletableFuture<Loan>> S save(Loan loan);
я получаю очевидную ошибку компиляции, которая говорит "The method save(Loan) is ambiguous for the type LoanRepository"
Я попытался изменить его на:
@Async
<S extends CompletableFuture<Loan>> S save(S loan);
Но я получаю исключение при запуске java.lang.UnsupportedOperationException: null
которая обусловлена:
Caused by: java.lang.NullPointerException: null
at org.springframework.data.repository.query.QueryMethod.potentiallyUnwrapReturnTypeFor(QueryMethod.java:244)
Весна данных JPA Документация по поддержке асинхронным не ясно Сохранить часть. Spring Data JPA Async Support
Любая помощь? Кто угодно? – SRK