【问题标题】:How to use Map as query paramter with pagination in jpa springboot如何在jpa spring boot中使用Map作为带有分页的查询参数
【发布时间】:2020-07-23 05:04:00
【问题描述】:

如何在jpa springboot中使用HashMap>作为查询参数与分页

【问题讨论】:

  • 我认为你不能直接使用 HashMap> 作为查询参数。

标签: jpa queryparam


【解决方案1】:

是的,这是可能的。您可以在查询中使用 Spring 表达式语言。

例子:

@Query("select e from Employee e where e.name = :#{#map.get('name')}")
List<Employee> findEmployees(Map<String, String> map);

甚至更短

@Query("select e from Employee e where e.name = :#{#map['name']}")
List<Employee> findEmployees(Map<String, String> map);

也适用于 IN

@Query("select e from Employee e where e.name in :#{#map['name']}")
List<Employee> findEmployees(Map<String, List<String>> map);

【讨论】:

  • 据我了解,您将键“名称”的值等同起来,而我想要做的是 ... Map > map e.name in map.keySet()和 e.department 在 map.value("matchedKeyForName")
  • 这也可以。我只是添加了一个示例。你应该在一些单元测试中尝试一下
  • 好的,我试过并得到下面提到的错误
猜你喜欢
  • 2019-04-22
  • 2021-09-15
  • 2021-01-04
  • 2018-05-18
  • 2020-11-13
  • 1970-01-01
  • 2014-12-02
  • 2020-05-22
  • 1970-01-01
相关资源
最近更新 更多