2016-01-20 85 views
1

我從REST API的JSON形式獲取數據。如何將POJO保存到SQLite中並讓它們恢復?

enter image description here

使用http://www.jsonschema2pojo.org/,創建的類。使用GSON我將數據轉換爲POJO。對象(噸他們的)是hierarchial樹的形式:母體包括孩子可以是

  • 另一個目的
  • 集合對象的
  • 簡單數據

enter image description here

我試圖使用不同的ORM:SugarORM,RushORM,SquiDB,JDXA。其中一些不支持關係(一對一,一對多,多對多)。其中一些需要添加註釋。 JDXA是好的,但它是付費和映射配置花了一段時間,在我看來太複雜了。

enter image description here

這個問題似乎是問圖書館recomendation或「要使用的工具」,但實際上我沒有看到如何解決這個問題的方法。

如何保存這些的POJO到SQLite的關係表中,需要有效的方式(在更短的時間)時,讓他們回來?我應該使用ORM嗎?或者我應該自己寫插入和選擇代碼?

+0

喬,你能不能請把你的模型類的定義和JDXA映射規範[email protected]這樣我們就可以探討這個問題?謝謝, –

+0

有時錯誤「表或視圖未找到」如果沒有正確指定在JDXA映射規範數據庫文件位置發生。 JDXA ORM預計SQLite數據庫文件必須位於應用程序的數據庫目錄。該目錄位於_/data/data//databases_。因此,請確保映射(.jdx)文件中的JDX_DATABASE語句如下所示: _JDX_DATABASE JDX:jdbc:sqldroid:/data/data/com.mycompany.myapp/databases/example.db; JDX_DBTYPE = SQLITE; ... _ –

回答

1

如果速度是你的主要關注編寫自己的查詢將是最有效的因爲所有這些庫都具有通用性的開銷邏輯。

我總是會使用ORM,因爲它節省了開發時間,速度差別不會很大。如果您定期加載/保存5000多個對象,我只會擔心ORM速度太慢。這是基於編寫RushOrm時完成的基準測試。

相關問題