2017-04-07 7 views
0

내 클래스 중 하나의 포인터 < _User> 열에 currentUser를 저장하려고합니다. 이는 라이브러리 관련 문제입니다 (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(); 
     }