Androidアプリからのデータを永続化するためにAzureMobileサービスを使用しようとしています。私が今抱えている問題は、Azureデータベーステーブルの列に対応するいくつかのフィールドを持つデータ転送オブジェクトがあることです。また、永続化したくないフィールドが1つあります。@ Exposeアノテーションを使用しようとしていますが、機能していないようです。Azureから、SubCategoriesのデータ型が無効であるという例外が発生しています。私は間違っていますか?
package com.mycorp.myapp.model;
import java.util.*;
import com.google.gson.annotations.*;
public class Category {
public Category(){
SubCategories = new ArrayList<Category>();
}
public int Id;
public String Name;
public int ParentId;
@Expose(serialize = false, deserialize = false)
List<Category> SubCategories;
}
そして、以下のコードはMobileServiceExceptionを返します({"code":400、 "error": "Error:プロパティ'SubCategories'の値はタイプ'object'であり、サポートされているタイプではありません。"})
Category category = new Category();
category.Name = "new";
category.ParentId = 1;
mClient.getTable(Category.class).insert(category, new TableOperationCallback<Category>() {
@Override
public void onCompleted(Category entity, Exception exception, ServiceFilterResponse response) {
if(exception!=null)
{
Log.e("Service error", exception.getMessage());
}
}
});