У меня есть приложение с базой данных derby и используйте eclipselink как persistence api. Скажите, что у меня есть gui со списком команд. В каждой команде есть несколько игроков. Отношения в классе команды выглядит следующим образом:«Выгрузить» ленивые загруженные объекты
@OneToMany(mappedBy = "team", fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
private List<player> players = new ArrayList<player>():
и класс игрока, как это:
@ManyToOne(targetEntity = Team.class)
@JoinColumn(name = "teamID", nullable = false, referencedColumnName = "ID")
private Team team;
Так я теперь начать свое заявление, и оно заполняет список всех существующих команд:
public List<Team> getTeams()
{
TypedQuery<Team> query = em.createQuery("SELECT t FROM Team t", Team.class);
List<Team> teams = query.getResultList();
return teams;
}
Все работает до сих пор, загружаются только команды, а не игроки. Скажем, теперь я открываю таблицу с игроками команды, выбирая команду и вызывая команду для этого. Таблица заполнена:
team.getPlayers();
Итак, теперь все игроки этой команды загружены, потому что теперь они необходимы. Но после того, как я закрыл таблицу, они остаются загруженными, но я хотел бы «разгрузить» их снова, чтобы они не остались в памяти - как бы я это сделал?
Хорошо, спасибо, сделают это так! –