我正在搜索两个小时,但无法找到解决方案。我想进行一个简单的查询,检查字符串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();
此查询确实有效,但我现在还不知道如何使用通配符。我尝试了*,_,%
个字符,但没有任何效果。
答案 0 :(得分:3)
将通配符符号附加/前缀到您传入的令牌:
m_lKunde = query.setParameter("name", "%" + m_sSearch + "%").getResultList();
答案 1 :(得分:0)
也许这可以帮助
"SELECT p FROM Kunde p WHERE p.m_sName LIKE '%'|| :name || '%' ", Kunde.class);