urf*_*end 6 java google-app-engine persistence
所以我正在尝试使用servlet,过滤器等构建一个谷歌应用程序引擎.我有一个看起来像这样的java文件:
public class Idea implements Comparator<Idea> {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private User author;
@Persistent
private String content;
@Persistent
private Date date;
@Persistent
private Map<User, Boolean> positiveVotes ;
@Persistent
private Map<User, Boolean> negativeVotes;
public Idea(User author, String content, Date date) {
this.author = author;
this.content = content;
this.date = date;
this.positiveVotes = new HashMap<User, Boolean>();
this.negativeVotes = new HashMap<User, Boolean>();
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行我的程序时,我得到一个异常堆栈,开头是:
Feb 13, 2010 5:01:23 PM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: /sign
java.lang.IllegalArgumentException: positiveVotes: java.util.HashMap is not a supported property type.
at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUtils.java:145)
at com.google.appengine.api.datastore.DataTypeUtils.checkSupportedValue(DataTypeUtils.java:127)
at com.google.appengine.api.datastore.Entity.setProperty(Entity.java:280)
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是为什么它抱怨java.util.HashMap不是受支持的属性类型,我还能做些什么来解决它.谢谢!希望有人尽快回复.
您可以要求GAE将HashMap存储为Blob值,方法是添加JDO注释以将此字段标记为存储序列化:
@Persistent(序列= "真")
https://code.google.com/intl/pl/appengine/docs/java/datastore/dataclasses.html#Serializable_Objects
| 归档时间: |
|
| 查看次数: |
3245 次 |
| 最近记录: |