维护 Datastore 和 Blobstore 之间的一致性

Maintaining consistency between Datastore and Blobstore

如果我有以下 JPA 实体:

@Entity
public class Image {
   private String name;
   privaet Blobkey blobKey;
   .....
   .....
}

假设我然后使用 blobstore 服务来保存一个 blob,然后使用 blobkey 作为新实体的属性,然后保存该实体。

如果我稍后决定使用 blobstore 服务删除 blob,是否必须手动更新实体以使 blobKey 属性为空?

我想我的问题一般是数据存储条目和 blobstore 实体 'aware' 完全相互,还是由我来保持这些数据存储实体之间的 consistency/integrity 和blobstore 条目?

Blobstore 和数据存储区是完全独立的,因此如果您删除 blob,则需要将 blobkey 清空。当然,如果你不这样做,也不一定是个问题,因为 blobkey 将指向一个不存在的对象。但实际实体会保留blobkey属性。