EJB + EJB = 1 SESSION Como fazer?

2 respostas
innfocco

Bom dia a todos!

Em minha aplicação JEE tenho esta situação:

EJB3_Persistencia = dao + pojo (Hibernate)

EJB3_Controller = camada de negócio

Quero fazer com que o controller compartilhe a mesma session da persistencia para conseguir recuperar os lazy’s.

Como fazer isso?

2 Respostas

thimor

Esse é um problema que eu tive não só com ejb mas também com backbeans. A solução para esse problema pelos menos até onde entendi seria usando o SpringFramework. Ou utilizar uma solucão do proprio hibernate, pois trata-se de um pequeno bug de implementação da JPA.

Nesse link, https://www.hibernate.org/43.html , tem a solução do problema utilizando Hibernate. O texto está em ingles. No meu caso eu coloquei as regras de persistencia direto no backbean.

grato,

Thiago Moreno

innfocco

O que acontece é que quando o entity sai do EJB de persist e vai para o EJB de controle a sessão (do jpa) é encerrada e aí quando vc tenta acessar os lazyes já estão mortos.

Uma solução interessante é o Gilead mas é meio complexo de se entender

http://noon.gilead.free.fr/gilead/

Estou tentando descobrir como pegar a session do JPA para acordá-la em um interceptor…

Criado 24 de junho de 2009
Ultima resposta 24 de jun. de 2009
Respostas 2
Participantes 2