SpringDataJpa模糊查询时候报类型错误

😂 这篇文章最后更新于1578天前,您需要注意相关的内容是否还可用。

原语句

Path<String> namePath = root.get(entry.getKey());
predicate = cb.like(namePath, "%" + entry.getValue() + "%");

由于某些字段可能不是String类型,因此可能会报错,改成如下即可:

Path<Object> namePath = root.get(entry.getKey());
predicate = cb.like(namePath.as(String.class), "%" + entry.getValue() + "%");