在where子句中使用like命名查询

发布于 2021-01-30 16:31:27

在命名查询的where子句中可能有一个like?我正在尝试执行以下操作,但出现异常

@NamedQuery(name = "Place.getPlaceForCityAndCountryName",
query = "SELECT p FROM Place p WHERE " +
        "lower(p.city) like :city and " +
        "lower(p.countryName) like :countryName");

我尝试像在普通SQL中那样添加%,但是得到了异常编译。

任何指针,不胜感激!

谢谢

关注者
0
被浏览
114
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

    您不能在中添加%NamedQuery,但可以在为其分配参数的值中包含它。

    如:

    String city = "needle";
    query.setParamter("city", "%" + city + "%");
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看