2016-02-25 47 views
0
static void go() { 
    PersistenceManager pm = null; 
    Transaction tx = null; 
    try { 
     pm = new JDOFactory().getFactory().getPersistenceManager(); 
     tx = pm.currentTransaction(); 
     Query q = pm.newQuery("javax.jdo.query.SQL", "select * from \"OAUTHTEMP\" where \"O_AUTH_TOKEN\"=:oAuthToken and \"O_AUTH_VERIFIED\"=:oAuthVerified"); 
     Map params = new HashMap(); 
     params.put("oAuthToken", "08f727ab-7132-426c-8fc2-9ce2b30ebf9d"); 
     params.put("oAuthVerifier", "C3ExGzv+cAQkOqwL4oY94fZhDyVLyo/0H31w8F3q+YYLSBDxl2YARcglqPuKcsfT"); 
     List<OAuthTemp> result = (List<OAuthTemp>) q.executeWithMap(params); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

沒有持久字段這是我的函數來獲取的令牌和驗證的基礎上,所有的數據,但我得到下面的異常:SQL查詢類在SELECT

SQL查詢類沒有SELECT:select * from「OAUTHTEMP」其中「O_AUTH_TOKEN」=:oAuthToken和「O_AUTH_VERIFIED」=:oAuthVerified org.datanucleus.exceptions.NucleusUserException:SQL查詢類在SELECT中沒有持久字段:select * from「 OAUTHTEMP「其中」O_AUTH_TOKEN「=:oAuthToken和」O_AUTH_VERIFIED「=:oAuthVerified at org.datanucleus.store.rdbms.query.SQLQuery.pr epareForExecution(SQLQuery.java:994) 在org.datanucleus.store.rdbms.query.SQLQuery.executeWithMap(SQLQuery.java:818) 在org.datanucleus.api.jdo.JDOQuery.executeInternal(JDOQuery.java:369) at com.xenonstack.demo.test.Test.go(Test.java:61) at com.xenonstack.demo.test處的org.datanucleus.api.jdo.JDOQuery.executeWithMap(JDOQuery.java:276) 。 Test.main(Test.java:40)

我OAuthTemp類是這個 OauthTemp class

+0

如果它解決了您的問題,請接受答案。如果它沒有回覆它的影響 –

回答

0

您似乎用一個名爲oAuthVerified的參數進行查詢,但它爲oAuthVerifier提供了一個值。也許如果你確定它會起作用?