我最近开始在我的Android应用程序中使用GreenDao,我正在创建一个Category实体,它应该有多个Category实体作为子项。因此我使用树关系如下:
Entity category = schema.addEntity("Category");
...
Property parentIdProperty = category.addLongProperty("parentId").getProperty();
category.addToOne(category, parentIdProperty).setName("parent");
category.addToMany(category, parentIdProperty).setName("children");
这是根据需要创建正确的代码,我有以下内容:
private List<Category> children;
问题
问题是我需要在此属性之前使用@SerializedName属性,因为我正在将具有不同字段名称的一些json(从另一个服务获得)解析为这些Category实体。
对于其他属性,我使用codeBeforeField()方法正确生成属性:
category.addStringProperty("categoryId").codeBeforeField("@SerializedName( \"Id\" )");
有没有办法在这个'children'属性上设置codeBeforeField以添加@SerializedName属性?或者在我的'children'属性之前还有其他一些方法来生成这个属性?
我试过搜索方法,所以在关系上设置它,但似乎这个方法只在PropertyBuilder上可用。有没有办法从ToMany关系中检索PropertyBuilder?
任何帮助将不胜感激。谢谢。