2017-04-07 55 views
0

我正嘗試將當前用戶保存到指針< _User>列中的某個類中。這是一個特定於庫的問題(https://github.com/thiagolocatelli/parse4j/blob/master/src/main/java/org/parse4j/ParseUser.java)。我只是想知道其他人是否也有過類似的問題。無法將當前用戶保存爲用戶指針列中的對象(Parse4J)

ParseUser currentUser = ParseUser.currentUser; 

ParseObject sentRequest = new ParseObject(ParseConstantsUtil.CLASS_REQUEST); 
sentRequest.put("author", currentUser); 
try { 
sentRequest.save(); 
} catch (org.parse4j.ParseException e) { 
e.printStackTrace(); 
} 

的pom.xml:我使用的是最新的快照生成作爲我Parse4J依賴。

<dependency> 
     <groupId>com.github.thiagolocatelli</groupId> 
     <artifactId>parse4j</artifactId> 
     <version>1.5-SNAPSHOT</version> 
    </dependency> 

例外:

ParseException [code=111, error=schema mismatch for Request.author; expected Pointer<_User> but got Pointer<users>] 
    at org.parse4j.command.ParseResponse.getParseError(ParseResponse.java:122) 
    at org.parse4j.command.ParseResponse.getException(ParseResponse.java:78) 
    at org.parse4j.ParseObject.save(ParseObject.java:486) 
    at com.test.automation.controller.RequestController.createRequestObject(RequestController.java:119) 
    at com.test.automation.controller.RequestController.saveRequest(RequestController.java:89) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 

什麼錯嗎?

回答

0

它適用於查詢當前用戶時,但我認爲這絕對是一個不必要的額外呼叫。我很想知道爲什麼我的第一次嘗試失敗...

 ParseQuery<ParseObject> userQuery = ParseQuery.getQuery("_User"); 
     userQuery.whereEqualTo("objectId", currentUser.getObjectId()); 
     try { 
      List<ParseObject> userList = userQuery.find(); 
      for (ParseObject author : userList) { 

       sentRequest.put("author", author); 
       try { 
        sentRequest.save(); 
       } catch (org.parse4j.ParseException e) { 
        e.printStackTrace(); 
       } 

      } 
     } catch (org.parse4j.ParseException e) { 
      e.printStackTrace(); 
     }