如果从带有空格的列中选择,则Jpa无效

时间:2014-02-16 14:39:53

标签: mysql java-ee servlets jpa

如果" key"参数包含空格(例如:" cat and dog")查询结果为空..为什么?

Query q=em.createQuery("SELECT a FROM Articolo a WHERE a.nome LIKE '%"+key+"%'");

但是如果关键参数只包含" cat"或"和"或"狗"它有效吗?

2 个答案:

答案 0 :(得分:0)

您是否在数据库中的查询下面执行任何结果,

选择一个FROM Articolo a WHERE a.nome LIKE'%“+ key +”%'

'猫与狗'有两个空间,可能是它没有得到的原因。 JPQL,HQL,JDBC以相同的方式工作。

但是,我建议在编写jpql查询之前我们可以检查数据库中的查询结果。

答案 1 :(得分:0)

当您尝试使用时,请考虑使用命名参数。

Query q=em.createQuery("SELECT a FROM Articolo a WHERE a.nome LIKE :value);
q.setParameter("value", "%dog%");

另请阅读此SQL LIKE wildcard space character