Spring Data Rest и Oracle Между двумя запросами даты ничего не дают - PullRequest
0 голосов
/ 08 ноября 2019

Spring Data rest не может получить данные между 2 датами из таблицы базы данных.

Collection<XXXX> findByCreatedOnBetween(LocalDate fromDate, LocalDate todayDate);
From Bean 
private LocalDate createdOn;
Collection<XXXX> findByCreatedOnBetween(LocalDate fromDate, LocalDate todayDate);
private LocalDate createdOn;

Я хочу данные между 2 датами:

SELECT
*
FROM
testing testing
WHERE
testing.created_on BETWEEN ? AND ? ;

1 Ответ

0 голосов
/ 10 ноября 2019

Я считаю, что Spring Data Rest по умолчанию принимает только формат даты ISO 8601 (например, 2018-10-22).

Если вы хотите принять дату в другом формате, вам нужно добавить конвертер.

@Configuration
public class RepositoryRestConfig extends RepositoryRestConfigurerAdapter {

    @Autowired
    CustomDateConverter customDateConverter;

    @Override
    public void configureConversionService(ConfigurableConversionService conversionService) {
        conversionService.addConverter(customDateConverter);
        super.configureConversionService(conversionService);
    }
}


@Component
public class CustomDateConverter implements Converter<String, LocalDate > {

    @Override
    public LocalDate convert(String source) {
        return LocalDate.from(DateTimeFormatter.ofPattern("dd-MMM-yy").parse(source));
    }
}
...