如何使用 CompletableFuture 进行两次数据库调用并等待结果

How to use CompletableFuture for making two DB call and wait for the result

假设我有一种情况,我调用两个存储库来获取项目。

CompletableFuture<Optional<Account>> accountCompleteableFuture = CompletableFuture.supplyAsync(() ->AccountRepository.findById(accountId));

CompletableFuture<Optional<User>> userCompletableFuture = CompletableFuture.supplyAsync(() ->userRepository.findById(userId));

当两者都完成后,我如何才能得到反馈?传统上,我会一一调用两者,然后执行剩余的逻辑。在这里我想加快这个过程。我试图做类似 thenCombine() 的事情,但两者是不同的对象,我无法在该 lambda 中编写逻辑。任何人都可以建议更好的方法吗?

CompletableFuture.allOf( groupCompletableFuture, userCompletableFuture ).join();