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

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

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

public interface SurgeryRepository extends JpaRepository<Surgery, String> {

    public List<Surgery> findByPracticeNameContainingIgnoreCase(String substring);

    public Surgery findById(String id);

}

我想知道的是如何定义一种方法,该方法允许我使用ID列表检索多行,例如:
public List<Surgery> findByIDs(List<String> IDs);

应该自动映射到这种SQL的东西
SELECT * FROM SURGERIES WHERE SURGERY_ID IN ('101',102,103',104',105',106')

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

最佳答案

您可以使用:

findAll(Iterable<ID> ids)

JpaRepository提供的方法。

09-10 15:56