문제

Google App Engine에 잘 작동하는 앱이 있습니다. 나는 equals와 해시 코드를 구현하는 것을 잊어 버린 JDO가 강화 된 개체 중 하나를 깨달았습니다 (세트에서 객체를 사용해야합니다). 그래서 나는했다. 나는 이러한 구현에서 특별한 일을하지 않았다. 사실 나는 방금 이클립스를 사용하여 그것들을 생성했다. 그렇게 :

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;

@Persistent
private String appleId;

@Override
public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result
            + ((appleId == null) ? 0 : appleId.hashCode());
    return result;
}

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    User other = (User) obj;
    if (appleId == null) {
        if (other.appleId != null)
            return false;
    } else if (!appleId.equals(other.appleId))
        return false;
    return true;
}

이제 앱의 URL을 누르려고하면이 예외가 발생합니다.

/addUser javax.jdo.jdouseRexception : 영구 클래스 "클래스 com.bpapa.myapp.domain.user는 향상되지 않은 것 같습니다. 인핸서를 다시 실행하고 출력의 오류를 확인할 수 있습니다." 데이터베이스에 테이블이 없지만 작업에는 필요합니다. 이 클래스의 메타 데이터 사양을 확인하십시오. org.datanucleus.jdo.nucleusjdohelper.getjdoexceptionfornucleusexception (org.datanucleus.jdo.jdoquery.jdoquery.execute (jdoquery.java:249) at com.bpapa.myapp.servlet.servlet.servlet. : 34)

내가 잘못한 것에 대한 아이디어가 있습니까?

도움이 되었습니까?

해결책

Datanucleus Enhancer를 자동으로 실행할 Eclipse 세트가 있습니까? 프로젝트-> 청소로 프로젝트 청소를 시도한 다음 처음부터 프로젝트를 구축하면 어떻게해야합니까?

다른 팁

Eclipse의 구성 ( "Datanucleus Enhancer 실행" - 위에서 설명한 관련 문제)

프로젝트 설정 -> Google-> App Engine-> ORM

JDO 클래스의 정확한 "SRC //"경로로 SRC PARH "SRC/"경로 변경

나는 같은 문제에 직면했고 프로젝트를했을 때 -> 청소를했을 때 로그에서 다음과 같은 예외를 보았습니다.

{Caused by: org.datanucleus.exceptions.NucleusException: Plugin (Bundle) "org.datanucleus.store.appengine" is already registered. Ensure you dont have multiple JAR versions of the same plugin in the classpath. The URL "file:/C:/Documents%20and%20Settings/Administrator/workspace/Guestbook/war/WEB-INF/lib/datanucleus-appengine-1.0.8.final.jar" is already registered, and you are trying to register an identical plugin located at URL "file:/C:/eclipse/plugins/com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811/appengine-java-sdk-1.4.2/lib/user/orm/datanucleus-appengine-1.0.8.final.jar."}

그래서 나는 제거했다 :

C:/Documents and Settings/Administrator/workspace/Guestbook/war/WEB-INF/lib/datanucleus-appengine-1.0.8.final.jar

Eclipse 프로젝트에서 청소 및 재건 된 모든 것이 예상대로 작동하기 시작했습니다.

최신 버전의 Appengine Java SDK로 업데이트 하여이 문제를 해결했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top