Folgende Situation. Die Sektorliste ist als FetchType.EAGER deklariert. Im Setter wird auf die Variable zugegriffen, um die Inhalte mit Listenern auszustatten. Darauf kriege ich folgende Exception.
Der EntityManager wird per @PersistenceContext Mapping in einer Bean erzeugt.
Was könnte man da machen?
Java:
Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection, no session or session was closed
Der EntityManager wird per @PersistenceContext Mapping in einer Bean erzeugt.
Was könnte man da machen?
Java:
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
public List<Sector> getSectors() {
return sectors;
}
public void setSectors(List<Sector> sectors) {
if (sectors != null) {
for (int i = 0; i < sectors.size(); i++) {
sectors.get(i).addPropertyChangeListener("id", this);
sectors.get(i).addPropertyChangeListener("sectorId", this);
sectors.get(i).addPropertyChangeListener("status", this);
sectors.get(i).addPropertyChangeListener("description", this);
sectors.get(i).addPropertyChangeListener("lenght", this);
sectors.get(i).addPropertyChangeListener("antenna", this);
sectors.get(i).addPropertyChangeListener("tag", this);
sectors.get(i).addPropertyChangeListener("antennas", this);
sectors.get(i).addPropertyChangeListener("tags", this);
}
propertyChangeSupport.firePropertyChange("sectors", this.sectors,
this.sectors = sectors);
} else {
if (this.sectors != null && this.sectors.size() > 0) {
for (Sector s : this.sectors) {
removeSector(s);
}
}
this.sectors = new ArrayList<Sector>();
}
}