Я попытался использовать OrmLite в приложении для Android и столкнулся с проблемой:
Я создал чужую коллекцию для объекта и назначил ей несколько объектов.Я могу использовать метод queryForAll () в DAO для запроса объектов, и он возвращает их, как и ожидалось:
allTeams = getHelper().getTeamDao().queryForAll();
for(ScrumTeam team : allTeams) {
if(team.getMembers() == null || team.getMembers().size() == 0) {
log("No Members");
} else {
log(team.getMembers().size()+" Members");
}
}
Это работает, как ожидается, печатая «2 участника» или «3 участника» в командах., представляющий правильные данные.
Очевидно, я хотел отсортировать данные, и метод, который я обнаружил, использовал queryBuilder:
allTeams = getHelper().getTeamDao().queryBuilder().selectColumns("id", "name").orderBy("name", true).query();
for(ScrumTeam team : allTeams) {
if(team.getMembers() == null || team.getMembers().size() == 0) {
log("No Members");
} else {
log(team.getMembers().size()+" Members");
}
}
Приведенный выше код выводит "Нет членов", но я могу получить доступ к другим данным команды (идентификатор и имя) отлично.Я пытался установить для коллекции значение true и false, но ни одна из них не сработала.Исследуя далее, я обнаружил, что массив members не инициализирован (null).Это ошибка, или я неправильно использую библиотеку?Есть ли способ получить коллекцию ForeigCollection вручную?
Спасибо за ваши ответы!