我正在尝试使用 Spring Boot 和 Spring data JPA 创建一个非阻塞休息服务。
如何使用 Spring Data 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);
Run Code Online (Sandbox Code Playgroud)
}
但是,当我尝试添加以下保存方法时:
@Async
<S extends CompletableFuture<Loan>> S save(Loan loan);
Run Code Online (Sandbox Code Playgroud)
我收到一个明显的编译错误,上面写着"The method save(Loan) is ambiguous …