【发布时间】:2011-02-11 16:39:49
【问题描述】:
我有以下课程:
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import com.google.appengine.api.datastore.*;
@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class PayPal_Message
{
@PrimaryKey
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent
private Text content;
@Persistent
private String time;
public PayPal_Message(Text content,String time)
{
this.content=content;
this.time=time;
}
public Long getId() { return id; }
public Text getContent() { return content; }
public String getTime() { return time; }
public void setContent(Text content) { this.content=content; }
public void setTime(String time) { this.time=time; }
}
它曾经在一个包中,并且工作正常,现在我将所有类都放在默认包中,这导致了这个错误:
org.datanucleus.jdo.exceptions.ClassNotPersistenceCapableException: The class "The class "PayPal_Message" is not persistable. 这意味着它要么没有被增强,要么文件的增强版本不在 CLASSPATH 中(或者是被未增强的版本隐藏),或者找不到该类的元数据/注释。”是不可持久的。这意味着它要么没有被增强,要么文件的增强版本不在 CLASSPATH 中(或者被未增强的版本隐藏),或者找不到该类的元数据。 嵌套的Throwables: org.datanucleus.exceptions.ClassNotPersistableException:“PayPal_Message”类不可持久。这意味着它要么没有被增强,要么文件的增强版本不在 CLASSPATH 中(或者被未增强的版本隐藏),或者找不到该类的元数据/注释。
我应该怎么做才能解决它?
【问题讨论】:
-
为什么要把它放在默认包中?出于某种原因使用包是最佳实践
标签: java google-app-engine persistence