java spring 存储库 - 使用一组 IDs/values 的 findBy() 方法
java spring repositories - findBy() method using set of IDs/values
我有一个 java spring 应用程序。它做后端工作,提供 Restful API,全部使用 Oracle 数据库。
对于大多数资源,它遵循典型的设计模式:"Controller > Service > Repository > DB"。
在存储库级别,当扩展JpaRepository接口时,可以定义一组方法而无需提供主体,就像这样:
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 代码中编写本机查询。 (不一定是 id,它可以是任何领域)提前致谢。
您可以使用:
findAll(Iterable<ID> ids)
JpaRepository提供的方法
我有一个 java spring 应用程序。它做后端工作,提供 Restful API,全部使用 Oracle 数据库。
对于大多数资源,它遵循典型的设计模式:"Controller > Service > Repository > DB"。
在存储库级别,当扩展JpaRepository接口时,可以定义一组方法而无需提供主体,就像这样:
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 代码中编写本机查询。 (不一定是 id,它可以是任何领域)提前致谢。
您可以使用:
findAll(Iterable<ID> ids)
JpaRepository提供的方法