2014-03-06 22 views
0

有什麼辦法序列化ORMLite準備好的查詢,然後反序列化以將它恢復到原始形式?在ORMLite中準備好的查詢序列化和反序列化

在Android中,將參數傳遞給活動或片段必須以序列化的形式完成。現在,似乎不可能將準備好的查詢作爲參數傳遞給Bundle

序列化它們不是問題,因爲有PreparedStmt<T>.getStatement()但我還沒有找到任何方法來逆轉過程。

總有這樣的解決方案:將查詢放入帶有String鍵的映射中,將該鍵作爲參數傳遞,然後使用該鍵檢索查詢,但我正在尋找更簡單的解決方案。

回答

0

是否有任何方式序列化ORMLite準備的查詢,然後反序列化將其恢復到原始形式?

現在答案是否定的,我不認爲有任何方法可以改變代碼來支持它。準備好的查詢包含指向DAO的指向內部連接源類的指針等,以便它可以執行其職責。目前沒有簡單的方法來序列化所有這些信息。

序列化它們不是一個問題,因爲有PreparedStmt.getStatement(),但我還沒有找到任何方法來逆轉過程。

反過來,你的意思是從查詢字符串中生成一個PreparedStmt?你應該可以這樣做:

GenericRawResults<T> results = dao.QueryRaw(queryString, dao.getRawRowMapper());