Hi,
ich bekomme in meiner Webanwendung folgende Exception:
Hier tritt die Exception auf (Code aufs Wesentliche reduziert):
Das übergebene Userobjekt in doSomethingWithUser() wurde in einer anderen EJB aus der DB geladen.
Komisch ist: Die Exception lautet doch "no session or session was closed". Aber in jeder Methode einer EJB gibt es doch eine Session. Kann IMHO also nur sein, dass die ursprüngliche Session, durch die das "User"-Objekt erzeugt wurde, nicht mehr offen ist. Ist das der Fehler? Ich habe auch probiert, dann ein
zu machen, das hat allerdings überhaupt nichts geändert...
Könnt ihr mir vielleicht erklären, wo hier das Problem liegt?
Vielen Dank!
Stefan
ich bekomme in meiner Webanwendung folgende Exception:
Java:
failed to lazily initialize a collection of role: ....., no session or session was closed
Hier tritt die Exception auf (Code aufs Wesentliche reduziert):
Java:
@Stateless
public class OrderEJB {
@PersistenceContext
private EntityManager entityManager;
public void doSomethingWithUser(User user) {
user.getOrders();
}
}
Das übergebene Userobjekt in doSomethingWithUser() wurde in einer anderen EJB aus der DB geladen.
Komisch ist: Die Exception lautet doch "no session or session was closed". Aber in jeder Methode einer EJB gibt es doch eine Session. Kann IMHO also nur sein, dass die ursprüngliche Session, durch die das "User"-Objekt erzeugt wurde, nicht mehr offen ist. Ist das der Fehler? Ich habe auch probiert, dann ein
Java:
entityManager.merge(user);
zu machen, das hat allerdings überhaupt nichts geändert...
Könnt ihr mir vielleicht erklären, wo hier das Problem liegt?
Vielen Dank!
Stefan