【问题标题】:Android - cache spring pojo objects in sqlite databaseAndroid - 在 sqlite 数据库中缓存 spring pojo 对象
【发布时间】:2016-01-31 16:45:30
【问题描述】:
目前,我的应用程序使用 spring 的 RestTemplate 和带有 Jackson 的 java pojo 类从 rest webservice 加载一些数据。
因此,我有 java 对象,其中包含从 web 服务检索到的数据。
但我还需要让我的数据可供离线使用。所以我的想法是将数据保存到sqlite数据库。我可以使用我的 pojo 类作为 ormlite 的模型来保存/加载数据吗?
我想直接将我的数据保存到 sqlite,使用我已经拥有的 pojo 类对象作为 ormlite 模型,ormlite 可以吗?请注意,我的 pojo 类包含声明为其他 pojo 对象的字段,因此可能需要一些带有外键的表结构。 ormlite可以自动处理吗?
【问题讨论】:
标签:
android
spring
rest
ormlite
pojo
【解决方案1】:
您必须使用适当的 ormlite 注释 @DatabaseTable 和 @DatabaseColumn 来注释您的 POJO 模型。
接下来,您必须构建一个扩展 OrmLiteSqliteOpenHelper 的类(例如 OrmDatabaseHelper);
之后你可以像这样注入对象
@OrmLiteDao(helper = OrmDatabaseHelper.class)
Dao<YourCustomPOJO, Long> yourCustomDao;
Long 代表 ID 字段类型。
这允许您使用 dao 的方法,如 create、delete、queryForAll 等。
YourCustomPOJO pojo = new YourCustomPOJO();
//set some values
yourCustomDao.create(pojo);