Проверьте дату между двумя другими датами весны данных jpa

char* Buffer = malloc(MAX_BUF);

создает указатель char Buffer, динамически выделяет MAX_BUF байты памяти через malloc и делает Buffer точкой для начала выделенного пространства. Эта память выделяется в куче.

char Buffer[MAX_BUF];

создает массив Buffer размера MAX_BUF, который может содержать максимум символов MAX_BUF. Обратите внимание, что вы создаете массив переменной длины (функция, введенная в C99 ), поскольку MAX_BUF является переменной. Этот массив может быть создан в стеке.

29
задан Andrew Tobilko 30 January 2018 в 11:44
поделиться

3 ответа

Вам следует взглянуть на справочную документацию . Это хорошо объяснено.

В вашем случае, я думаю, вы не можете использовать между, потому что вам нужно передать два параметра

Между - findByStartDateBetween… где x.startDate между? 1 и? 2

В вашем случае используйте комбинацию LessThan или LessThanEqual с GreaterThan или GreaterThanEqual

  • LessThan / LessThanEqual

LessThan - findByEndLessThan… где x.start < ? 1

LessThanEqual findByEndLessThanEqual… где x.start < =? 1

  • GreaterThan / GreaterThanEqual

GreaterThan - findByStartGreaterThan… где x.end>? 1

GreaterThanEqual - findByStartGreaterThanEqual… где x.end> =? 1

Вы можете использовать оператор And и Or объединить оба.

61
ответ дан Andrew Tobilko 30 January 2018 в 11:44
поделиться

Я использовал следующее решение для этого:

findAllByStartDateLessThanEqualAndEndDateGreaterThanEqual(OffsetDateTime endDate, OffsetDateTime startDate);
21
ответ дан Michaël Cuypers 30 January 2018 в 11:44
поделиться

Вы также можете написать собственный запрос, используя @Query

@Query(value = "from EntityClassTable t where yourDate BETWEEN :startDate AND :endDate")
public List<EntityClassTable> getAllBetweenDates(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
5
ответ дан marc_s 30 January 2018 в 11:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: