自定义查询
当查询结果无法对应到实体时(如:统计类的查询),无法使用Spring Data JPA提供的封装方法完成查询工作。开发人员只需使对应的Repository实现RepositoryEnhancer
接口,即可进行自定义的查询。
class Foo {
Long id;
String name;
}
interface FooRepository extends RepositoryEnhancer {
}
StringBuilder sb = new StringBuilder("select t from Foo as t where 1=1 ");
Map<String, Object> parameters = new HashMap<>();
if (StringUtils.isNotEmpty(fooQo.getName())) {
sb.append(" and t.name = :name");
parameters.put("name", fooQo.getName());
}
List<Foo> count = fooRepository.findByJpql(sb.toString(), parameters);
Last updated