我試圖用ActiveAndroid存儲一個Person
對象。我設置這樣的生日:person.setBirthdate(new java.sql.Date((new Date()).getTime()));
。分配所有數據後,我打電話給person.save();
。ActiveAndroid:未創建日期列
我從數據庫中獲取與此命令所有人員的名單:new Select().from(Person.class).execute();
如果我不關閉應用程序,一切工作正常(生日總是從數據庫返回正確)。但是,當我完全關閉應用程序並重新啓動它時,生日日期始終爲空。所有其他字段(名字,姓氏等)都是正確的。
我真的不知道爲什麼會發生這種情況,並希望得到一些幫助!
編輯:仔細看看我的數據庫後,我發現生日日期列沒有創建。我仍然不確定爲什麼數據在沒有關閉應用時可用。
第二次編輯:我添加了一個新的列(一個字符串),它被保存到數據庫,工作得很好。所以問題不是過時的數據庫。所有列,但日期列被創建。
我還將日期數據類型更改爲字符串。出生日期然後被保存。將其更改回日期數據類型導致原始問題再次出現。真的很奇怪......有誰知道最近怎麼回事?
爲什麼你使用java.sql.Date insteed java.util.Date? – LunaVulpo
你解決了這個問題嗎? – LunaVulpo
我正在使用JodaTime的'DateTime'作爲我的列字段類型,並且它在SQLIte數據庫中沒有創建列。如果你打算這樣做,你必須創建一個自定義的TypeSerializer。看到這個更多的信息:https://github.com/pardom/ActiveAndroid/issues/516 –