在GreenDAO关系之前为属性设置codeBeforeField

时间:2016-02-24 15:51:45

标签: android json serialization greendao greendao-generator

我最近开始在我的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?

任何帮助将不胜感激。谢谢。

0 个答案:

没有答案