将GWT与Morphia / MongoDB一起使用

时间:2013-08-13 09:35:12

标签: mongodb gwt morphia

我想知道是否有人尝试并成功使用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;你忘了继承一个必需的模块吗?

1 个答案:

答案 0 :(得分:1)

你不能在Morphia中为实体的@Id字段使用String,它必须是ObjectId。 Morphia的GWT支持从v1.02开始完全被打破。