我最近开始在我的 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属性?或者也许还有其他方法可以在我的“孩子”属性之前生成这个属性?
我已经尝试寻找在关系上设置此方法的方法,但似乎此方法仅在 PropertyBuilder 上可用。有没有办法从 ToMany 关系中检索 PropertyBuilder ?
任何帮助,将不胜感激。谢谢你。