0

以下是我调用数据库以查找子字符串“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。

4

1 回答 1

1

等于 (=) 运算符不适用于通配符。您需要使用like(或喜欢)。

例如

SELECT * FROM table WHERE column like '%abc%';

有关更多信息,请参阅此文档

于 2012-10-26T08:09:34.470 回答