使用JDO / DataNucleus将java.util.Properties保留为序列化对象

时间:2009-04-10 08:35:39

标签: java jdo datanucleus

Google AppEngine文档说我可以使用JDO来保存可序列化对象,如此

import javax.jdo.annotations.Persistent;
import DownloadableFile;

// ...
@Persistent(serialized = "true")
private DownloadableFile file;

但如果我将它与属性

一起使用
@Persistent(serialized="true")
private Properties initProps;

我得到了

  

DataNucleus Enhancer(版本1.1.0):增强类

     

“ServletRegistration”类中的字段“initProps”已被定义为Map,但未指定密钥类型!

我可以使用其他注释修复此问题吗?

1 个答案:

答案 0 :(得分:2)

添加 @key(类型= String.class) @value(类型= String.class)

因为“属性”有点像黑客,因为它也可以包含非String,并且不允许通用规范,所以你需要限制它。 AppEngine的下一个版本将具有DataNucleus版本,不需要此附加信息。