For me will be a combination.
Adding something similar to nativeQuery to QueryablePersistenceService
And then a Database binding that makes use of it to be able to provide items from an arbitrary native query for any QueryablePersistenceService.
Because current FilterCriteria doesn’t seem enough for me, and will be very difficult to extend it accomplish queries from different domains like SQL o Flux.