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 回答