我试图用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 –