답변:
findByInventoryIdIn(List<Long> inventoryIdList)
트릭을해야합니다.
HTTP 요청 매개 변수 형식은 다음과 같습니다.
Yes ?id=1,2,3
No ?id=1&id=2&id=3
JPA 리포지토리 키워드의 전체 목록은 현재 설명서 목록 에서 찾을 수 있습니다 . 그것은 쇼 IsIn
당신은 가독성을 위해 동사를 선호하는 경우 - - 해당하며 그 JPA도 지원 NotIn
하고 IsNotIn
.
Spring CrudRepository의 메소드에 대해서는 @Query를 직접 지정할 수 있어야합니다. 이와 같은 것이 작동해야합니다.
@Query( "select o from MyObject o where inventoryId in :ids" )
List<MyObject> findByInventoryIds(@Param("ids") List<Long> inventoryIdList);
Set<String>
매개 변수로 사용하고 잘 작동했습니다.
예, 지원됩니다.
메소드 이름 내에서 지원되는 키워드 는 여기 에 제공된 문서를 확인하십시오 .
@Query 어노테이션 을 사용하지 않고 사용자 정의 조회를 작성 하지 않고 저장소 인터페이스에서 메소드를 정의 할 수 있습니다 . 귀하의 경우 다음과 같습니다.
List<Inventory> findByIdIn(List<Long> ids);
인벤토리 엔티티와 InventoryRepository 인터페이스 가 있다고 가정합니다 . 귀하의 경우 코드는 다음과 같습니다.
엔터티
@Entity
public class Inventory implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
// other fields
// getters/setters
}
리포지토리
@Repository
@Transactional
public interface InventoryRepository extends PagingAndSortingRepository<Inventory, Long> {
List<Inventory> findByIdIn(List<Long> ids);
}