Spring JPA 无法将参数传递到引号中



我正在尝试向PostgreSQL发出请求,看起来像这样:

@Query(value = "SELECT t FROM Tasks t WHERE daterange(t.date_from, t.date_to) && daterange '(:dateFrom, :dateTo)'", nativeQuery = true)
Page<Task> findTest(@Param("dateFrom") String dateFrom,
@Param("dateTo") String dateFrom,
Pageable pageable);

在结果值中dateFromdateTo由于单引号而不传入:dateFrom:dateTo:dateFrom:dateTo看起来像一根绳子。如果我删除引号,参数传递得很好,但请求当然是无效的。 那么有没有办法将值传递到带引号的(:dateFrom, :dateTo)

没有引号,查询将无法工作,因为您尝试使用如下所示的内容获取数据:

获取日期 > 2015 日期 2014>的任务

基本上,如果您尝试从 2014 年 6 月 1 日开始获取任务,它将正常工作,但date > 2015将不是真的。 所以我建议你把&&改成<@,这样,如果我了解了你的要求,任务日期范围就包含在用参数构建的范围中。

以下是范围类型的一些不错的运算符。

最新更新