Spring CrudRepository запрос с несколькими условиями In - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь получить данные из таблицы DynamodB, используя Spring Data, фильтруя по двум полям, используя ключевое слово In, но он всегда возвращает пустой результат.

У меня есть такой объект, как:

@DynamoDBTable(tableName = "my-table")
public class MyEntity {
    @Id
    private MyTableKey id;

    private String saleDate;
    private Long sellerId;

    // Some other properties

    @DynamoDBHashKey
    public String getSaleDate() {
        return this.saleDate;
    }

    @DynamoDBRangeKey
    public Long getSellerId() {
        return this.sellerId;
    }
}

и мой интерфейс для хранилища

@EnableScan
@EnableScanCount
public interface MySalesRepository
        extends PagingAndSortingRepository<MyEntity, MyTableKey> {

    Page<MyEntity> findById (MyTableKey id, Pageable pageable);

    Page<MyEntity> findAllBySaleDateAndSellerIdIn (List<String> saleDate,
            List<Long> sellerId, Pageable pageable);
}

Я хочу получить товары, которые имеют как saleDate в списке saleDate, так и sellerId в списке sellerId, но я получаю 0 результатов.

Как получить нужные значения с помощью ключевых слов And и In?

1 Ответ

3 голосов
/ 29 марта 2019

Попробуйте изменить это:

 Page<MyEntity> findAllBySaleDateAndSellerIdIn (List<String> saleDate,
        List<Long> sellerId, Pageable pageable);

на это:

 Page<MyEntity> findBySaleDateInAndSellerIdIn (List<String> saleDate,
        List<Long> sellerId, Pageable pageable);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...