4

由于性能问题,我看到 greenDao 不喜欢使用注释来生成 DAO 和 TO。但是,如果我仍然需要为解析器的目的注释例如 TO 怎么办?有没有办法做到这一点?

例子:

如果我们使用 GreenDAO 代码生成创建 Customer 实体,它将创建 CustomerDAO 和 Customer 类,对吗?

那么,如果我正在使用 SOAP webservices,它返回一个 Customer 对象,并且为了便于解析这个 Customer 对象,我使用了一种带注释的框架,例如 simpleXML。使用 GreenDAO 重新生成代码时,有什么方法可以更改 Customer 类而不丢失每个注释?

谢谢!

4

2 回答 2

9

您可以像这样使用 greendao 2.0 添加注释

entity.addStringProperty("title").codeBeforeField("@com.google.gson.annotations.SerializedName( \"title\" )");
于 2015-08-04T21:13:07.457 回答
5

你可以尝试在 Path 中使用我们的 fork,它增加了对 Annotations 的支持。(它还增加了对枚举和序列化的支持) https://github.com/path/greenDAO 它在我的盘子上为它发送拉取请求,但不确定我什么时候有时间。

顺便说一句,我们的版本没有像 greenDAO 那样进行良好的单元测试,但我们已经在生产环境中使用它一段时间了,所以应该足够稳定。

要添加注释,您可以查看此示例代码: https ://github.com/path/greenDAO/blob/master/DaoExampleGenerator/src/de/greenrobot/daogenerator/gentest/ExampleDaoGenerator.java#L42

顺便说一句,我们的 fork 为每个 Entity 对象创建了两个类。一个EntityBasewhich 是抽象的,包括所有字段等和一个Entitywhich extends EntityBase。你应该只编辑Entity.

于 2012-11-27T22:24:44.077 回答