2010-08-12 43 views
1
Query q = em.createQuery("SELECT u FROM SSUser u WHERE u.emailId=?1") 
    .setParameter(1, email); 

我認爲這將是一個有效的查詢,但後來我得到:IS DataNucleus GAE JPQL與JPA1標準不同嗎?

No results for query: SELECT FROM SSUser u WHERE u.emailId=?1 

什麼來表達這個查詢的正確方法?

回答

1

該查詢是正確的,但位置參數目前在GAE/J中被破壞。這是問題128:位置參數不起作用(JPQL)。解決方法:使用命名參數。

Query q = em.createQuery("SELECT u FROM SSUser u WHERE u.emailId = :email") 
    .setParameter("email", email);