[
http://jira.jboss.com/jira/browse/EJBTHREE-340?page=comments#action_12353030 ]
Emmanuel Bernard commented on EJBTHREE-340:
-------------------------------------------
local or remote bean?
LazyInitializationException inside JTA transaction
--------------------------------------------------
Key: EJBTHREE-340
URL:
http://jira.jboss.com/jira/browse/EJBTHREE-340
Project: EJB 3.0
Issue Type: Bug
Affects Versions: EJB 3.0 RC3
Environment: JBoss 4.0.3 SP 1 + EJB 3.0 RC3
Reporter: Leandro Sinhorini Alves
I'm not sure if it's a bug, but I looked for a answer at the specfication and at
JBoss EJB3 forum.
In a JSF managed bean, my application begin a JTA transaction and invoke a stateless
session façade that return a entity bean. The entity bean has a lazy collection that
throws org.hibernate.LazyInitializationException when I try to get it at managed bean
method.
Follow the managed bean method:
public String consultar() throws Exception {
ServiceLocator locator = ServiceLocator.getInstance();
UserTransaction tx = (UserTransaction) locator.lookup(
"java:comp/UserTransaction" );
tx.begin();
try {
AplicacaoFacade facade = locator.lookupEJB( AplicacaoFacade.class );
// Get informations for page
vo = (UsuarioVO) paginaRegistros.getRowData();
Usuario usuario = facade.getUsuarioPorId( vo.getId() );
// Build organizations collection
List<Long> organizacoesId = new ArrayList<Long>();
// THROWS LAZY EXCEPTION !!!!!!
for ( Organizacao organizacao : usuario.getOrganizacoes() ) {
organizacoesId.add( organizacao.getId() );
}
tx.commit();
}
catch ( Exception e ) {
tx.rollback();
}
return Constantes.OUTCOME_SUCESSO;
}
The session façade uses dependency injection to get entity manager:
Code:
@Stateless
public class AplicacaoFacadeBean implements AplicacaoFacade {
@PersistenceContext EntityManager entityManager;
public Usuario getUsuarioPorId( Long usuarioId ) {
return entityManager.find( Usuario.class, usuarioId );
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira