集成 greenDAO 和 Jackson
Integrating greenDAO and Jackson
我正在开发一个带有 Android 端和后端的项目,对于 JSON 解析,我在两侧都使用了 Jackson 库。
后端使用 Play 2.0,Ebean 对 Jackson 注释友好,但问题出在 GreenDAO 上,因为 GreenDAO 使用代码生成,每次迁移数据库时我都必须重新键入所有注释。
我找了一圈,只找到了
this question 但我找不到任何模板文件。
我正在使用 GreenDao 2.2.0。
我发现,根据 documentation of the modelling,您可以使用 setCodeBeforeClass(String code)
和 codeBeforeField(String code)
等方法来添加注释,而不是在模型本身中添加注释,
例如在生成器模块
schema.enableKeepSectionsByDefault();
Entity gItem= schema.addEntity("GrItem");
gItem.setCodeBeforeClass("@JsonSerialize(using = ItemSerializer.class)"+"\n"+"@JsonIgnoreProperties(ignoreUnknown = true)");
gItem.addIdProperty().codeBeforeField("@JsonProperty(\"id\")");
因此每次您 运行 生成器时,您仍然可以使用代码
生成注释
我正在开发一个带有 Android 端和后端的项目,对于 JSON 解析,我在两侧都使用了 Jackson 库。
后端使用 Play 2.0,Ebean 对 Jackson 注释友好,但问题出在 GreenDAO 上,因为 GreenDAO 使用代码生成,每次迁移数据库时我都必须重新键入所有注释。
我找了一圈,只找到了
this question 但我找不到任何模板文件。
我正在使用 GreenDao 2.2.0。
我发现,根据 documentation of the modelling,您可以使用 setCodeBeforeClass(String code)
和 codeBeforeField(String code)
等方法来添加注释,而不是在模型本身中添加注释,
例如在生成器模块
schema.enableKeepSectionsByDefault();
Entity gItem= schema.addEntity("GrItem");
gItem.setCodeBeforeClass("@JsonSerialize(using = ItemSerializer.class)"+"\n"+"@JsonIgnoreProperties(ignoreUnknown = true)");
gItem.addIdProperty().codeBeforeField("@JsonProperty(\"id\")");
因此每次您 运行 生成器时,您仍然可以使用代码
生成注释