【发布时间】:2012-01-28 15:07:03
【问题描述】:
我正在应用引擎服务器上运行以下 JDO 代码。
我收到以下错误消息:
org.datanucleus.jdo.exceptions.ClassNotPersistenceCapableException: The class "The class "java.util.ArrayList" is not persistable. 这意味着它要么没有被增强,要么文件的增强版本不在CLASSPATH(或被未增强的版本隐藏),或找不到该类的元数据/注释。”是不可持久的。这意味着它要么没有被增强,要么文件的增强版本不在 CLASSPATH 中(或者被未增强的版本隐藏),或者找不到该类的元数据。
这是我的课:
@PersistenceCapable(detachable="true")
class Store {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
@Element(dependent = "true")
private List<User> users;
List<User> getUsers() {
return users;
}
}
当我跑步时
pm.makePersistent(store.getUsers());
我得到了上述异常。知道为什么会这样吗? 我认为文档说我可以将 List 作为持久性 元素,它会变成一个多值属性。
谢谢,
约翰·戈奇
【问题讨论】:
-
我猜 List
类本身不具备持久性,因此必须执行 pm.makePersistent(store);使其得以持久。 (?)
标签: google-app-engine jdo