Spring Data Rest和Oracle在2个日期之间查询不提供任何内容

问题描述 投票:0回答:1

Spring Data rest无法从数据库表中获取两个日期之间的数据。

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

我想要两个日期之间的数据:

SELECT
*
FROM
testing testing
WHERE
testing.created_on BETWEEN ? AND ? ;
oracle spring-data-rest
1个回答
0
投票

我相信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));
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.