Objectify Appengine

I есть этот класс, который я хочу сохранить с помощью Objectify, этот класс будет представлять данные размером более 1 МБ, поэтому есть список объектов Blob, который представляет фрагмент сохраненного массива байтов размером менее 1 МБ:

@Entity
public class BigBlob {

    @Id
    private Long id;
    public static final int FRAGMENT_LIMIT = 777 * 1024;
    @Serialized
    private List<Blob> fragments = new ArrayList<Blob>();

    ...

}

Тем не менее, "фрагменты" - это @Serialized, что сделает размер этого класса/объекта BigBlob больше 1 МБ.

Причина этой ошибки:

com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call datastore_v3.Put() was too large.

Если я использую аннотацию @Embedded, я получаю следующую ошибку:

Cannot place array or collection properties inside @Embedded arrays or collections

Как мне убедиться, что «фрагменты» хранятся как отдельный объект?

Кстати, у меня уже есть логика разделения байтов, которая нарезает весь массив байтов и помещает фрагменты в Списокиз Блоба, так что этот вопрос не относится к тому, как нарезать байт.

В основном то, что я хочу знать, касается настойчивой стороны.

5
задан xybrek 21 May 2012 в 17:43
поделиться