如何将POJO保存到SQLite中并将其取回?

时间:2016-01-20 06:10:43

标签: android json sqlite pojo gson

我以JSON的形式从REST API获取数据。

enter image description here

使用http://www.jsonschema2pojo.org/创建的类。使用GSON我正在将数据转换为POJO。对象(吨数)采用分层树的形式:父对象包括可以是

的子对象
  • 另一个对象
  • 对象集合
  • 简单数据

enter image description here

我尝试使用不同的ORM:SugarORM,RushORM,SquiDB,JDXA。他们中的一些人不支持关系(一对一,一对多,多对多)。其中一些需要添加注释。 JDXA很好,但付费和映射配置需要一段时间,在我看来太复杂了。

enter image description here

这个问题可能看起来像要求图书馆推荐或“使用哪个工具”,但实际上我没有看到如何解决这个问题的方法。

如何将这些POJO保存到SQLite关系表中并在需要时以有效的方式(在更短的时间内)将其恢复?我应该使用ORM吗?或者我应该自己编写插入和选择代码?

2 个答案:

答案 0 :(得分:1)

如果速度是您的主要关注点编写您自己的查询将是最有效的,因为所有这些库都有开销逻辑,使它们通用。

我总是会使用ORM因为它节省了开发时间并且速度差异不会很大。如果你经常加载/保存5000+对象,我只会担心ORM太慢。这是基于编写RushOrm时完成的基准测试。

答案 1 :(得分:-1)

是保存POJO您需要使用ORM。 有不同的第三方库提供ORM

ActiveAndroid:http://www.activeandroid.com/

OrmLite:http://ormlite.com/

GreenDao:https://github.com/greenrobot/greenDAO