0

我有一个自定义对象,我想保存在数据存储区(而不是 blobstore)中。就像是

Entity.setProperty("myobj", custonObject)

我在这个 customObject 中有一个用户列表

public user class{
 String name;
 String age;
}

public user_s class{

 List<user> userList;

 public user_s(){
  userList = new ArrayList<user>();
 }
}

然后我想保存 user_s。

我想我需要一些序列化,如果可能的话。我可以看到数据存储中有一个 Blob 类,但是您如何使用它呢? https://developers.google.com/appengine/docs/java/datastore/entities

问候

4

2 回答 2

1

我知道您的问题特别提到了“低级 API”,但如果您想避免在各处制作样板序列化代码,您可能需要考虑使用 Objectify。@Serialized然后,您可以简单地在要存储的自定义对象列表上使用注释。

我将 Objectify 称为“中低级”——它为您提供了高度的控制,因为您可以完全按照您的意愿操作数据存储,而无需 JDO 的抽象/阻塞,但仍然可以让您避免一堆样板。

于 2012-12-30T18:42:52.703 回答
0

是的,有一Blob堂课。

序列化很简单:

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(baos);
    oos.writeObject(obj);
    Blob blob = new Blob(baos.toByteArray());
于 2012-12-30T18:05:53.103 回答