【发布时间】:2012-06-10 08:34:00
【问题描述】:
是否可以在命名查询的 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 中一样添加 %,但编译时会出现异常。
任何指针都非常感谢!
谢谢
【问题讨论】:
-
如果你从 lower() 函数中取出第二个 like 会发生什么:)
-
正如@Davos555 所指出的,缺少括号和引号:
"lower(p.countryName) like :countryName"); -
是的,谢谢 - 我从一个更复杂的示例中复制了它,但没有正确更改它。我现在会更新问题
标签: java sql jpa named-query