以下是我的代码,用于调用数据库以查找子串“ello”。
String queryString = "from ContentItem where singerName = '%"+searchString+"%' OR songName = '%"+searchString+"%'";
System.out.println(queryString);
Query query = session.createQuery(queryString);
return query.list();
字符串输出是
from ContentItem where singerName = '%ello%' OR songName = '%ello%'
它表示%的意外令牌。如何才能在这些列中搜索子字符串?
我在Tapestry中工作Hibernate。
答案 0 :(得分:1)
equals(=)运算符不适用于通配符。您需要使用like
(或ilike)。
例如
SELECT * FROM table WHERE column like '%abc%';
see this document了解更多信息。