【发布时间】:2021-11-08 03:28:32
【问题描述】:
我正在使用带有 Reactive 存储库的 Spring boot 2 来执行将返回计数的存储过程。我有 30 个存储过程,它们都只会返回一个数字并且不带任何参数。
因此为存储过程 StroedProcDomain.java 和一个示例存储库创建了一个模型,如下所示。
@Repository
public interface JobRepository extends ReactiveCrudRepository<StroedProcDomain, Long> {
@Query("CALL JOB_LOAD()")
Mono<Integer> executeProc();
}
需要创建 30 个这样的存储库,并希望强制所有存储库使用相同的方法
单声道
executeProc()
但存储的过程名称会有所不同。所以@Query 对于每个存储库都会有所不同。
实现这一目标的最佳方法是什么?
目前,我有 30 个存储库。希望有一个基础存储库以强制方法名称。
【问题讨论】:
-
我认为这不可能强制接口上的方法名称。要拥有一个基础存储库,您可以定义一个接口并在其上使用 @NoRepositoryBean 然后扩展它,但这意味着必须将 Query 注释放在基础接口方法上。 stackoverflow.com/questions/11576831/…
-
是否可以通过参数传递查询并且在基类中只有一个方法?
标签: spring-boot spring-data-jpa spring-data spring-data-r2dbc