我发现由于性能问题,greenDao不希望使用注释来生成DAO和TO。但是,如果我仍然需要为解析器目的注释例如TO?有没有办法实现这个目标?
示例:
如果我们使用GreenDAO代码生成创建一个Customer实体,它会创建CustomerDAO和Customer类吗?
那么,如果我正在使用返回Customer对象的SOAP webservices,并且为了便于解析这个Customer对象,我会使用一个带注释的框架,比如simpleXML。在使用GreenDAO重新生成代码时,有没有办法在不松散每个注释的情况下更改Customer类?
谢谢!
答案 0 :(得分:9)
您可以像这样添加带有greendao 2.0的注释
entity.addStringProperty("title").codeBeforeField("@com.google.gson.annotations.SerializedName( \"title\" )");
答案 1 :(得分:5)
你可以尝试在Path使用我们的fork,它增加了对Annotations的支持。 (它还增加了对枚举和序列化的支持) https://github.com/path/greenDAO 在我的盘子上发送拉动请求,但不确定我什么时候有空。
顺便说一句,我们的版本没有经过单元测试,因为我们已经在生产中使用了一段时间,所以应该足够稳定。要添加注释,您可以查看以下示例代码: https://github.com/path/greenDAO/blob/master/DaoExampleGenerator/src/de/greenrobot/daogenerator/gentest/ExampleDaoGenerator.java#L42
顺便说一下,我们的fork为每个Entity对象创建了两个类。 EntityBase
是抽象的,包含所有字段等,Entity
扩展EntityBase
。您只应修改Entity
。