Я пытаюсь сохранить объект Person
с ActiveAndroid. Я установил дату рождения следующим образом: person.setBirthdate(new java.sql.Date((new Date()).getTime()));
. После назначения всех данных я звоню person.save();
.ActiveAndroid: столбцы даты не созданы
получить список всех лиц из базы данных с помощью этой команды: new Select().from(Person.class).execute();
Если я не закрываю приложение все работает отлично (дата рождения всегда корректно возвращается из базы данных). Однако, когда я полностью закрываю приложение, а затем перезапускаю его, дата рождения всегда равна нулю. Все остальные поля (имя, фамилия и т. Д.) Являются правильными.
Я действительно не знаю, почему это происходит и будет признательна за помощь!
EDIT: После более пристального изучения моей базы данных я выяснил, что столбец родительской записи не создан. Я все еще не уверен, почему данные доступны, если не закрывать приложение.
Second EDIT: Я добавил новый столбец (строку), который сохраняется в базе данных и работает отлично. Таким образом, проблема заключается не в устаревшей базе данных. Все столбцы, кроме столбца даты, создаются.
Я также изменил тип данных даты на строку. Затем была спасена дата рождения. Изменение его обратно на тип данных Date привел к исходной проблеме снова. Действительно странно ... Кто-нибудь знает, что происходит?
Почему вы используете java.sql.Date insteed java.util.Date? – LunaVulpo
У вас проблема? – LunaVulpo
Я использовал «DateTime» JodaTime в качестве типа поля столбца, и он молчал, не создавая столбец в базе данных SQLIte. Вы должны создать собственный TypeSerializer, если вы собираетесь это сделать. См. Это для получения дополнительной информации: https://github.com/pardom/ActiveAndroid/issues/516 –