我搜索了两个小时,但找不到解决方案。我想做一个简单的查询,应该检查字符串 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();
这个查询实际上有效,但我现在不知道如何使用通配符。我尝试了 *,_,%
字符,但没有任何效果。
最佳答案
将通配符附加/前缀到您传入的 token 中:
m_lKunde = query.setParameter("name", "%" + m_sSearch + "%").getResultList();
关于java - WHERE 子句和通配符中的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19295251/