Lazy Loading im Client / Tomcat bei EJB3 EntityBeans
Wenn man z.B. mit JBoss EJB3 EntityBeans erzeugt, welche LazyLoading-Eigenschaften haben, so können diese nur mit einigen Hürden auch in Servlets genutzt werden. Zwei Dinge muss man dabei beachten:
1. Der Aufruf des SessionBeans und der Aufruf der Lazy-Loading-Methode muss innerhalb einer eigenen Transaktion stattfinden.
Dies geschieht wie folgt:
UserTransaction user = (UserTransaction) context.lookup("java:comp/UserTransaction");
user.begin();
...
user.commit();
2. Weiterhin muß der Zugriff auf das SessionBean über das LocalInterface erfolgen. Ansonsten funktioniert das ganze nicht.
Wenn diese zwei Punkte beachtet werden, ist ein LazyLoading auch vom Client aus aufrufbar.