Принудительная отложенная загрузка после закрытия сеанса? - PullRequest
0 голосов
/ 08 мая 2020

Я использую спящий режим для своей игры ... при запуске я загружаю всех игроков ... у этих игроков есть ссылка на "Game-Chunk", в котором они находятся.

Проблема в том, что у этого «чанка» есть ленивая коллекция, ссылающаяся на все игровые объекты внутри этого чанка ... я действительно не хочу загружать их с нетерпением, когда я загружу всех игроков, это совсем не так эффективно ...

Вот как мой кусок выглядит как ....

@Entity
@Table(name = "chunk")
@Access(value = AccessType.FIELD)
public class Chunk extends HibernateComponent {

public int x;
public int y;
public Date createdOn;

@ElementCollection
@Column(name = "identityID", nullable = false)
public List<Identity> inChunk;

public Chunk() {}
public Chunk(int x, int y, Date createdOn) {
    this.x = x;
    this.y = y;
    this.createdOn = createdOn;
}
}

// Loading all chunks lazy in at start...
// Later on, i wanna acess SOME of them for checking their objects inside...

Chunk chunk= player.chunkReference;
chunk.inChunk // LazyInitializeException could not initialize proxy no session being thrown

Итак, есть ли способ ПРИНУДИТЬ отложенную загрузку коллекции на более позднем этапе БЕЗ загрузки во ВСЕМ новом объекте этого типа?

...