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%'

%の予期しないトークンと表示されます。これらの列内の部分文字列を検索できるようにするにはどうすればよいですか?

タペストリー内でHibernateを使用しています。

4

1 に答える 1

1

equals(=)演算子はワイルドカードでは機能しません。使用する必要がありますlike(またはilike)。

例えば

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

詳細については、このドキュメントを参照してください。

于 2012-10-26T08:09:34.470 に答える