Я использую ормлайт в своем проекте для Android. У меня два класса
@DatabaseTable(tableName = "usershows")
public class UserShow {
@DatabaseField(id = true)
private Integer showId;
@ForeignCollectionField(eager = false)
private ForeignCollection episodes;
...
}
@DatabaseTable(tableName = "episodes")
public class Episode {
@DatabaseField(id = true)
private Integer episodeId;
@DatabaseField(foreign = true)
private UserShow show;
...
}
. Я сохраняю свои объекты UserShows, такие как в примере
UserShow show = new UserShow();
userShowDao.create(show);
for (Episode e: eps) {
e.setShow(show);
episodeDao.create(e);
}
Объект UserShow имеет внешние ленивые эпизоды коллекции, но когда я пытаюсь получить все userShows:
shows = userShowsDao().queryForAll();
Я получаю все объекты шоу с коллекциями эпизодов. Почему так происходит? Коллекция ленива, и я должен получить null или что-то еще, но не коллекцию объекта Episode. Как сделать этот сборник действительно ленивым? Было бы здорово, если бы ORMLite имел возможность получать объекты без ленивых коллекций и инициализировать, когда это действительно нужно. Например, как метод Hibernate.initialize
.
Спасибо!