我在springdatajpa中有一个很慢的默认保存方法。所以,我决定让保存方法异步工作,因为我不需要在这个特定的方法中响应。
@Repository
public interface WorkplaceRepo extends JpaRepository<Workplace, Long> {
@Async
public <S extends Workplace> S save(S workplaceE);
它导致了整个项目中所有的保存方法都开始调用这个异步方法的问题。问题是:如何使用两种保存方法而不丢失其中一种(默认版本和异步版本)
我想使用原生查询创建自定义插入方法,但实体有太多列和外键,我不确定它是否能正常工作。
2条答案
按热度按时间qoefvg9y1#
您可以尝试使用下列程式码,让这两种方法都可用:
这样,从
JpaRepository
继承的not async
方法save(S entity)
仍然可以从WorkplaceRepo
调用。5ktev3wc2#
我建议创建一个新的存储库
WorkplaceRepoAsync
,使用一个保存方法,如下所示:更新
用
@Async
逻辑方法创建WorkplaceService
会更好第一次