2012-07-11 3 views
1

내 목표를 지속 클래스 "클래스"자바 오류AppEngine에 - 문자열

를 다음의 이유에 대해 확실하지

final static PersistenceManager pm = PMF.get().getPersistenceManager(); 
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException 
    { 
     String s = "test"; 
     System.out.println(pm.makePersistent(s)); 
     PrintWriter pw = resp.getWriter(); 
     pw.write("Data Saved"); 
    } 

를 데이터 저장소에 문자열을 유지하는 것입니다. lang.String "은 (는) 지속성이 없습니다. 즉, 은 파일이 확장되었거나 확장 된 파일 이 파일이 CLASSPATH에 없거나 확장되지 않은 버전에 의해 숨겨져 있음을 의미합니다. 메타 데이터/주석 클래스에 대한 것들은 발견되지 않습니다. " 은 지속되지 않습니다. 즉, 파일이 확장되지 않았거나 파일의 확장 버전이 CLASSPATH에 없거나 (확장되지 않은 버전으로 이 숨겨져 있음) 또는 클래스의 메타 데이터가 이 없음을 의미합니다.

에 의한

는 :

org.datanucleus.jdo.exceptions.ClassNotPersistenceCapableException는 :. 클래스 java.lang.String의 "는 또한 지속되지 않는다"클래스는 "이것은 었소 하나가 향상되어 있음을 의미 , 또는 의 향상된 버전 파일이 CLASSPATH에 없거나 확장되지 않은 버전에 의해 숨겨져 있거나 해당 클래스의 메타 데이터/주석을 찾을 수 없습니다. " 은 지속되지 않습니다. 즉, 파일이 확장되지 않았거나 파일의 확장 버전이 CLASSPATH에 없거나 (확장되지 않은 버전으로 이 숨겨져 있음) 또는 클래스의 메타 데이터가 이 없음을 의미합니다. org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException org.datanucleus.jdo.JDOPersistenceManager.makePersistent에서 org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent (JDOPersistenceManager.java:674)에서 (NucleusJDOHelper.java:241) (AT JDOPersistenceManager.java:694)

) com.arunraja101.SaveDataServlet.doGet (SaveDataServlet.java:91에서 문자열 개체 유지할 수 없습니다습니까? 문서 밖으로

답변

1

당신은 데이터 저장소에 문자열을 지속 할 수 있지만, 기업의 일부로 : 개체를 지속하기위한 GAE 문서를 확인하십시오. 클래스를 정의하여 데이터 스토어에 쓰고 읽는 엔티티를 설명합니다. 예를 들어,이 document은 JDO를 사용하여 엔티티 클래스를 정의하는 방법을 설명합니다.

클래스는 엔티티가 데이터 저장소에 기록 될 때 저장되는 필드와 필드가 기록되는 위치를 지정합니다. 이러한 클래스가 없으면 App Engine은 makePersistent (예제 코드 에서처럼)을 호출하거나 데이터를 다시 읽는 방법에 대해 데이터를 저장할 위치를 알 수 없습니다.

관련 문제