Alex wrote (2009-11-24 06:01):

we try to do the following on our php/EJB3 application :
        • find a given client from its lastname using a stateless bean ()
        • load his orders using the getter

$clients = $client_eao->findBySample($sample_client,false,false);

Seems that the objects no longer have the association with valid session, so 
either the Session or PersistenceManager should be kept around to fill the 
objects in upon use. Forcing eager load could also be used I think.


I assume the easiest route here is to use a Filter to achieve "session/transaction per request".


We get the usual LazyInitializationException :
[10:41:03.300] {http--8080-6$31582617} 
org.hibernate.LazyInitializationException: failed to lazily initialize a 
collection of role: com.opticneo.entity.client.Client.orders, no session or 
session was closed

If we were using Hessian, before returning the list of clients we would have 
made a copy of the list (using beanlib) before it is serialized (in ordre to 
avoid LazyInitializationException)
With Quercus, we do not have to do this. Good ! But we face the 
LazyInitializationException again when trying to access the complex attributes.

What is the best way to handle this ? (maybe by taking control over the 
transaction from the php)

Thanks for your help.



resin-interest mailing list

Reply via email to