2012-03-17 46 views
0

我有一個MovieElement類,一個字段url是id,和一個其他字段名稱。 僅用於測試名稱和url的值是相同的。 對象是堅持用名& URL =「www.test.com」 但我不能得到通配符的工作,我嘗試了查詢,如:通配符不起作用? - JPQL在JPA

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所有未來那些導致空:

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。

任何想法?謝謝!

+2

我期望看看日誌會告訴你所有你需要知道的「*」。 – DataNucleus 2012-03-17 06:30:32

回答

1

找到了解決辦法:好像DataNucleus將MongoDB的識別爲通配符,而不是‘%’