我有以下课程:
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:类““ PayPal_Message”类不是可持久的。这意味着它要么没有得到增强,要么文件的增强版本不在CLASSPATH中(或被隐藏。增强版本),或找不到该类的元数据/注释。” 不持久。这意味着它要么没有得到增强,要么文件的增强版本不在CLASSPATH中(或被未增强的版本隐藏),或者找不到该类的元数据。NestedThrowables:org.datanucleus.exceptions.ClassNotPersistableException:类“ PayPal_Message”不可持久。这意味着它要么没有得到增强,要么文件的增强版本不在CLASSPATH中(或者被未增强的版本隐藏了),
我该怎么解决?
说明:默认软件包中的类对于软件包中的类不可见/不可导入。
请尝试以下示例:
public class Entity {}
(因此不带包装!)和
package persistence; public class EntityManager { public static void main(String... args) { Entity entity = new Entity(); } }
它行得通吗?没有?您将如何导入它?这就是幕后发生的问题!