使用对象属性作为反应式 crud 存储库@Query方法中的参数



尝试使用spring-data-r2dbc解决使用过滤器对象属性作为反应式 crud 存储库中@Query方法中的参数的问题。

@Query("SELECT id, someId FROM Foo WHERE someId=:query.someId"")
Flux<Foo> findByCollectionQuery(FooCollectionQuery query);

FooCollectionQuery:

@Value
public class PaymentCollectionQuery {
@NotNull
UUID someId;
}

是否可以将整个PaymentCollectionQuery对象提供给@Query在查询中指定具体属性的注释?

现在我得到了以下异常:

java.lang.UnsupportedOperationException: Binding parameters is not supported for the statement 'SELECT id, someId FROM Foo WHERE someId=query.someId'

尝试使用 SpEL:

@Query("SELECT id, someId FROM Foo WHERE someId = :#{#query.someId}")
Flux<Foo> findByCollectionQuery(@Param("query") FooCollectionQuery query);

最新更新