2012-05-21 67 views
0

儘管我知道Appengine已經有一個Blob服務,但我想試驗在數據存儲中存儲大的Blob。使用物化的持久性Blob

基本上我嘗試使用物化堅持這個對象:

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大塊和碎片。

回答

0

我自己沒有使用Blob,但我注意到你的實體上面有@PersistenceCapable ...應該是@Entity。

import com.googlecode.objectify.annotation.Entity; 

然後你應該可以註冊你的實體與Objectify。

ObjectifyService.register(BigBlob.class); 
+0

我這樣做,但我仍然得到同樣的錯誤。 – xybrek

+0

我的意思是,我認爲這個問題是與基礎字段類BigBlog的是BigBlobFragment – xybrek

+0

@xybrek我看到你有一個持續的註解BigBlob中的BigBlobFragment成員,您需要Embed註釋(fory4)或Embedded(fory3) – koma

0

您需要註冊兩個BigBlob和BigBlobFragment與客體註釋替換所有的JDO註解(假設你使用ofy4,你可能還需要考慮嵌入BigBlob性能的內部BigBlobFragment對象使用@Embed。