如何添加Riak POJO对象的链接?

时间:2013-04-03 17:34:05

标签: java scala riak

在Scala中使用Riak Java客户端。当我去存储一个对象时,我使用以下方法,除了当我转到NullPointerException时抛出addLink

def store(clientId: String, userId: String, o: PointBalance) = {
    bucket.store(o).withRetrier(DB.retrier).execute()

    val tagThis = bucket.fetch(formatKey(clientId, userId)).r(2).withRetrier(DB.retrier).execute()
    tagThis.addLink(new RiakLink("users", userId, "owner"))
    bucket.store(tagThis).withRetrier(DB.retrier).execute()
  }

我试图在没有POJO反序列化的情况下检索基本的IRiakObject,因此它会公开addLink方法,但出现,除非它是,否则Riak不会返回对象那个POJO班。

如何在基本POJO中添加RiakLink?感谢。

更新

由于某种原因,上面的提取是检索空对象。不知道为什么会这样。我的普通fetch方法和方法之间的唯一区别是我反序列化为POJO。见这里:

正常:bucket.fetch(formatKey(clientId, userId), classOf[PointBalance]).r(2).withConverter(converter).withRetrier(DB.retrier).execute()

获取IRiakObject:bucket.fetch(formatKey(clientId, userId)).r(2).withRetrier(DB.retrier).execute()

为什么会这样?

0 个答案:

没有答案