При записи экземпляра моего класса данных в базу данных через ORMLite, когда один из дочерних элементов (внешнее поле) имеет значение null, я возвращаю ненулевой дочерний элемент.
Классы данных следующим образом:
public class Site {
// snip
@DatabaseField(foreign = true, canBeNull = true)
private InstallationType installationType;
}
public class InstallationType {
@DatabaseField(generatedId = true)
private int id;
@DatabaseField
private String name;
}
Когда я снова читаю свой экземпляр класса Site с помощью
getSiteDao().queryForId(id);
, элемент installationType не равен NULL, но с несуществующим идентификатором.Единственный способ, которым остальная часть нашего приложения теперь может работать с этим объектом, - это если я вручную выполню поиск через InstallationTypeDAO и установлю, что я получу обратно на сайт.Запрос иногда возвращает нуль согласно документации .
Есть ли способ заставить ORMLite установить для этого элемента значение null?