我有一个命名查询来搜索客户名称,如下所示。目前,该名称在名称的任何部分(相当于%search%)中匹配名称具有指定搜索条件的所有客户。
“SELECT t FROM Customer t WHERE t.name like:search”
如何指定命名查询,使其仅使用命名查询指定的条件匹配名称的开头?
此致
答案 0 :(得分:3)
你可以这样做。只需将%符号附加到要搜索的关键字的开头或结尾(取决于您的要求)。
query.setParameter("search", searchKeyword+"%"); // Searches for words starting with searchKeyword
答案 1 :(得分:1)
SELECT t FROM Customer t WHERE t.name like :search
并将参数设置为
query.setParameter("search", value + "%" )