RoboSpice сохраняют массив JSON с помощью OrmLite

Я использую RoboSpice с Spring для Android и хотел бы сохранить массив объектов JSON с OrmLite. GSON используется для сортировки JSON. С кэшированием по умолчанию все работает как положено. Но OrmLite не делаетКажется, не нравится массив объектов.

Это упрощенная версия JSON:

[{"id": 1, "title": "Test 1"},{"id": 2, "title": "Test 3"},{"id": 3, "title": "Test 3"}]

Я хотел бы сохранить это в следующем объекте:

@DatabaseTable
public class Foo {
    @DatabaseField(id = true)
    private int id;
    @DatabaseField
    private String title;

    // getters and setters
    ...
}

На основе примера RoboSpice OrmLite I 'Мы создали следующий класс GsonSpringAndroidSpiceService для добавления OrmLite CacheManager. Вот где начинается проблема.

public class CustomGsonSpringAndroidSpiceService extends GsonSpringAndroidSpiceService
{
    @Override
    public CacheManager createCacheManager(Application application)
    {
        // add persisted classes to class collection
        List classCollection = new ArrayList();
        classCollection.add(Foo.class);

        // init
        CacheManager cacheManager = new CacheManager();
        cacheManager.addPersister(new InDatabaseObjectPersisterFactory(
            application, new RoboSpiceDatabaseHelper(
                application, "database.db", 1), classCollection));
        return cacheManager;
    }
}

Это приводит к следующей ошибке:

RequestProcessor.java:174(22356): java.lang.RuntimeException: Class [Lcom.example.model.Foo; is not handled by any registered factoryList

Когда я меняюclassCollection.add(Foo.class); вclassCollection.add(Foo[].class); Я получаю следующую ошибку:

RequestProcessor.java:174(22601): 14:42:23.112 pool-5-thread-1 An unexpected error occured when processsing request CachedSpiceRequest [requestCacheKey=foo, cacheDuration=-1, spiceRequest=com.example.app.FooRequest@4055df40]
RequestProcessor.java:174(22601): java.lang.IllegalArgumentException: No fields have a DatabaseField annotation in class [Lcom.example.app.model.Foo;

Кто-нибудь знает, как обрабатывать массив JSON с OrmLite CacheManager?

Ответы на вопрос(3)

Ваш ответ на вопрос