休止状態でワイルドカード文字を追加するには?
私はこのようにしようとしましたが、すでにエラーがあります
「epfが好きな従業員から」+ Epf +「%」;
epf は、クエリへの int パラメータ パスです。
休止状態でワイルドカード文字を追加するには?
私はこのようにしようとしましたが、すでにエラーがあります
「epfが好きな従業員から」+ Epf +「%」;
epf は、クエリへの int パラメータ パスです。
引用符がありません'...'
。エンドクエリは次のようになります。
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();
大文字と小文字を区別しない %Like% 検索の場合
Criteria criteria = session.createCriteria(Any.class);
criteria.add(Restrictions.ilike(propertyName, value, MatchMode.END);
criteria.list();