4

休止状態でワイルドカード文字を追加するには?

私はこのようにしようとしましたが、すでにエラーがあります

「epfが好きな従業員から」+ Epf +「%」;

epf は、クエリへの int パラメータ パスです。

4

3 に答える 3

8

引用符がありません'...'。エンドクエリは次のようになります。

SELECT Employee WHERE epf LIKE 'text%'

コードを次のように変更します

"from Employee where epf like '"+Epf+"%'";

トリックを行う必要があります。注:一重引用符の開閉'...'ここで'"+Epf+"%'

しかし、あなたのアプローチは良くありません。このようなテキストをクエリに追加するのは危険です。詳細については、これを考慮してください。

バインド パラメータを使用する方がはるかに安全です。

session.createQuery("from Employee where epf like :epf")
       .setParameter("epf", epf + "%")
       .list();
于 2013-05-27T09:26:48.627 に答える
3

大文字と小文字を区別しない %Like% 検索の場合

 Criteria criteria = session.createCriteria(Any.class);
 criteria.add(Restrictions.ilike(propertyName, value, MatchMode.END);
 criteria.list();
于 2015-04-23T13:39:51.057 に答える