【发布时间】:2022-12-11 06:09:56
【问题描述】:
我正在尝试使用 spring webflux 创建端点。从多个表中查询的端点结果,where 子句中的大多数值是可选的。 (示例查询在底部提供)。
排序列和方向由用户提供,与分页相同。
我尝试将本机查询与 Sort、Pageable 一起使用。但是,Sort 和 Pageable (org.springframework.data.domain) 被忽略了。后来使用了没有Sort,Pageable的完全原生查询,但是无法通过参数注入ASC和DESC来查询。我还有其他选择吗?
SELECT u.id, u.catalog_id, u.amount , u.currency , u.created_date , cc.customer_id , c.country
FROM user u join catalog c ON u.catalog_id = c.id
JOIN catalog_contract cc ON cc.id = c.catalog_contract_id
where
(:user_country_id is null OR u.user_country_id = :user_country_id)
AND
(:customer_id is null or cc.customer_id = :customer_id)
ORDER BY :column :direction
OFFSET :offset LIMIT :limit
-
spring-data-r2dbc:1.3(Pageable 应该从 1.2 开始工作)
-
弹簧数据-webflux:2.5.6
【问题讨论】:
标签: spring-data spring-webflux spring-data-r2dbc r2dbc-postgresql