Spring Data JPA Map Query Params with JPA Query从Postgresql检索记录

时间:2019-07-03 10:39:36

标签: java spring spring-boot spring-data-jpa query-parameters

我有一个@RequestParam MultiValueMap<String, String> queryParams。控制器从UI端获取queryParams来请求JPA存储库并从数据库返回记录。

是否有一种方法可以直接将此MultiValueMap发送到存储库接口并基于queryParams获取记录?

我有一个UserRepository,它会扩展 JPARepository<User, Long>
控制器具有一种方法,该方法以@RequestParam MultiValueMap<String, String> queryParams作为输入,并且需要从数据库中适当地获取记录并将其存储在List<User>中。

例如:如果url = /api/users?name=USER123&salary=10000&department=science

我既不能使用@PathVariable,因为User中有许多可用于查询的属性,对于queryParams的每种组合也没有一种方法。

我需要发送queryParams来获取与查询参数匹配的确切记录。

public ResponseEntity<List<User>> getSpecificUsers(
    Pageable pageable,
    @RequestParam MultiValueMap<String, String> queryParams
) {}

如果有一种基于@Query查询参数生成RequestParam的方法,我也可以使用它。任何帮助表示赞赏。

0 个答案:

没有答案