java spring仓库-使用ID /值集的findBy()方法

Mik*_*elW 4 java database spring spring-data spring-data-jpa

我有一个Java Spring应用程序。它确实提供了后端的东西,提供了Restful API,全部使用Oracle数据库。

对于大多数资源,它遵循典型的设计模式:“控制器>服务>存储库> DB”。

在存储库级别,扩展JpaRepository接口时,无需提供主体即可定义一组方法,如下所示:

public interface SurgeryRepository extends JpaRepository<Surgery, String> {

    public List<Surgery> findByPracticeNameContainingIgnoreCase(String substring); 

    public Surgery findById(String id); 

}
Run Code Online (Sandbox Code Playgroud)

我想知道的是如何定义一个方法,该方法允许我使用ID列表检索多行,例如:

public List<Surgery> findByIDs(List<String> IDs); 
Run Code Online (Sandbox Code Playgroud)

应该自动映射到这种SQL的东西

SELECT * FROM SURGERIES WHERE SURGERY_ID IN ('101',102,103',104',105',106')
Run Code Online (Sandbox Code Playgroud)

...但不必在Java代码中编写本机查询。(不一定是id,它可以是任何字段)预先感谢。

eg0*_*t3r 6

您可以使用:

findAll(Iterable<ID> ids) 
Run Code Online (Sandbox Code Playgroud)

JpaRepository提供的方法。