我想知道是否有人尝试并成功使用Morphia jar与GWT内部的mongodb数据库进行交互?我一直在使用下面的对象作为我所有POJO的基础,但每当我尝试使用UpdateOperations<DerivedPersistentEntity>
或datastore.Save()
保存对象时,我得到ConcurrentModificationException
。
package com.greycells.dateone.shared;
import com.google.code.morphia.annotations.Id;
import com.google.code.morphia.annotations.Version;
public class PersistentEntity {
@Id
private String id;
@Version
private Long version = null;
public PersistentEntity() {
}
public String getId() {
return id;
}
public Long getVersion() {
return version;
}
public void setVersion(Long version) {
this.version = version;
}
}
我还添加了gwt扩展jar,你必须单独为Morphia下载并在我的gwt.xml中引用它,这似乎没有帮助。另外我尝试将PersistentEntity的id字段更改为ObjectId
类型但是我甚至无法正确绑定我的项目,因为它抱怨...
[错误]没有源代码可用于类型org.bson.types.ObjectId;你忘了继承一个必需的模块吗?
答案 0 :(得分:1)
你不能在Morphia中为实体的@Id字段使用String,它必须是ObjectId。 Morphia的GWT支持从v1.02开始完全被打破。