IMO getXXX() invocation does't throw LIE on lazy collection. It return an
unitialized PersistenceCollection. If you trie to invoke a collection method on
it get an LIE.
Ex.:
Collection children = parent.getChildren(); // doesn't throw LIE
col.iterator(); //throws LIE
Regards, jtonic.
"mlouna" wrote : Here's the full code:
|
| public Object invoke(Invocation invocation) throws Throwable {
|
| InitialContext initCtx = new InitialContext();
| EntityManagerFactory emf =
(EntityManagerFactory)initCtx.lookup("java:/EntManager1Factory");
| EntityManager em = emf.createEntityManager();
|
| MethodCalledByMethodInvocation methodInvocation =
(MethodCalledByMethodInvocation)invocation;
|
| try {
|
methodInvocation.getCalledMethod().invoke(methodInvocation.getTargetObject(),
methodInvocation.getArguments());
| } catch (LazyInitializationException ex) {
| Object tmpEntity =
em.merge(methodInvocation.getTargetObject());
|
methodInvocation.setTargetObject((methodInvocation.getTargetObject().getClass().cast(tmpEntity)))
| }
|
| return methodInvocation.invokeNext();
|
| }
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4108681#4108681
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4108681
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user