通配符无法正常工作? - JPA中的JPQL

时间:2012-03-17 01:50:03

标签: jpa wildcard

我有一个类MovieElement,一个字段url是id,另一个是字段名。 仅用于测试name和url的值是相同的。 一个对象以名称& url =“www.test.com” 但是我无法使用通配符,我尝试了一个类似的查询:

query = em.createQuery("SELECT m FROM MovieElement m WHERE m.name LIKE :keyword");
query.setParameter("keyword", "%test%");
query.getResultList();

这会得到一个空的结果。

但是以下工作:

query = em.createQuery("SELECT m FROM MovieElement m WHERE m.name LIKE :keyword");
query.setParameter("keyword", "www.test.com");
query.getResultList();

Evenso所有下一个结果都是null:

MovieElement el = em.find(MovieElement.class, "%test%");

query = em.createQuery("SELECT m FROM MovieElement m WHERE m.name LIKE :keyword");
query.setParameter("keyword", "www.test.co_");
query.getResultList();

query = em.createQuery("SELECT m FROM MovieElement m WHERE m.name LIKE :keyword");
query.setParameter("keyword", "%");
query.getResultList();

由于上次查询,代码似乎没有考虑通配符。 我还在使用DataNucleus和MongoDb。

有人有想法吗? THX!

1 个答案:

答案 0 :(得分:1)

找到解决方案:看起来像Datanucleus for mongodb将“。*”识别为通配符而不是“%”