2

2 時間以上探していますが、解決策が見つかりません。文字列に変数m_sNameが含まれているかどうかを確認する簡単なクエリを作成したいと思います。String多くのことを試しましたが、正しい構文が見つかりません。変数の使用とワイルドカードの使用も機能しますが、両方を一緒に使用すると機能しません。

TypedQuery<Kunde> query; 
query = em.createQuery("SELECT p FROM Kunde p" + 
    " WHERE p.m_sName LIKE :name", Kunde.class);
m_lKunde = query.setParameter("name", m_sSearch).getResultList();

このクエリは実際に機能しますが、ワイルドカードの使用方法はわかりません。文字を試し*,_,%ましたが、何も機能しませんでした。

4

2 に答える 2

3

渡すトークンにワイルドカード記号を追加/プレフィックスします。

m_lKunde = query.setParameter("name", "%" + m_sSearch + "%").getResultList();
于 2013-10-10T12:06:16.907 に答える
0

多分これは助けることができます

"SELECT p FROM Kunde p WHERE p.m_sName LIKE '%'|| :name || '%' ", Kunde.class);
于 2013-10-10T12:06:10.950 に答える