使用Objectify持久保存Blob

时间:2012-05-21 05:30:34

标签: google-app-engine objectify

虽然我知道Appengine已经有Blob服务,但我想尝试在数据存储区中存储大blob。

基本上我试图使用Objectify持久化这个对象:

BigBlob.java

BigBlobFragments.java

然而,appengine抱怨:" BigBlobFragment is not a supported property type"

对于BigBlob类型,我创建了一个带有CRUD操作的DAO类,并注册了这样的类型:

static {
    ObjectifyService.register(BigBlob.class);
    //ObjectifyService.register(BigBlobFragment.class);
}

protected BigblobDaoImpl() {
    super(BigBlob.class);
}

我实际上也尝试过注册BigBlobFragment。

希望有人可以分享一些关于如何使用Objectify实际保留Big blob和片段的想法。

2 个答案:

答案 0 :(得分:0)

我自己没有使用过Blob,但我注意到你的实体上面有@PersistenceCapable ...应该是@Entity。

import com.googlecode.objectify.annotation.Entity;

然后你应该能够用Objectify注册​​你的实体。

ObjectifyService.register(BigBlob.class);

答案 1 :(得分:0)

您需要注册BigBlob和BigBlobFragment,并用Objectify注释替换所有JDO注释(假设您使用的是ofy4。您可能还想考虑使用@Embed将BigBlobFragment对象嵌入BigBlob中以获得性能。