2016-02-25 41 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提供了一个值。也许如果你确定它会起作用?