如何将 POJO 保存到 SQLite 中并取回它们?
How to save POJOs into SQLite and get them back?
我正在以 JSON 的形式从 REST API 获取数据。
使用 http://www.jsonschema2pojo.org/,创建 类。我使用 GSON 将数据转换为 POJO。对象(大量对象)采用层次结构树的形式:父对象包括可以是
的子对象
- 另一个对象
- 对象集合
- 简单数据
我尝试过使用不同的 ORM:SugarORM、RushORM、SquiDB、JDXA。其中一些不支持关系(一对一、一对多、多对多)。其中一些需要添加注释。 JDXA不错,但是是付费的,而且映射配置也费了点功夫,我觉得太复杂了。
这个问题看起来像是在寻求图书馆推荐或"which tool to use",但实际上我不知道如何解决这个问题。
如何将这些 POJO 保存到 SQLite 关系表中并在需要时以高效的方式(在更短的时间内)取回它们?我应该使用 ORM 吗?或者我应该自己写插入和选择代码?
是的,为了保存 POJO,您需要使用 ORM。
有不同的 3rd 方库提供 ORM
ActiveAndroid:http://www.activeandroid.com/
OrmLite:http://ormlite.com/
如果速度是您主要关心的问题,那么编写您自己的查询将是最有效的,因为所有这些库都具有使它们通用的开销逻辑。
我总是会使用 ORM,因为它可以节省开发时间并且速度差异不会很大。如果您定期 loading/saving 5000 多个对象,我只会担心 ORM 太慢。这是基于编写 RushOrm 时所做的基准测试。
我正在以 JSON 的形式从 REST API 获取数据。
使用 http://www.jsonschema2pojo.org/,创建 类。我使用 GSON 将数据转换为 POJO。对象(大量对象)采用层次结构树的形式:父对象包括可以是
的子对象- 另一个对象
- 对象集合
- 简单数据
我尝试过使用不同的 ORM:SugarORM、RushORM、SquiDB、JDXA。其中一些不支持关系(一对一、一对多、多对多)。其中一些需要添加注释。 JDXA不错,但是是付费的,而且映射配置也费了点功夫,我觉得太复杂了。
这个问题看起来像是在寻求图书馆推荐或"which tool to use",但实际上我不知道如何解决这个问题。
如何将这些 POJO 保存到 SQLite 关系表中并在需要时以高效的方式(在更短的时间内)取回它们?我应该使用 ORM 吗?或者我应该自己写插入和选择代码?
是的,为了保存 POJO,您需要使用 ORM。 有不同的 3rd 方库提供 ORM
ActiveAndroid:http://www.activeandroid.com/
OrmLite:http://ormlite.com/
如果速度是您主要关心的问题,那么编写您自己的查询将是最有效的,因为所有这些库都具有使它们通用的开销逻辑。
我总是会使用 ORM,因为它可以节省开发时间并且速度差异不会很大。如果您定期 loading/saving 5000 多个对象,我只会担心 ORM 太慢。这是基于编写 RushOrm 时所做的基准测试。