我有一个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提供的方法。