3
respostas

OpenEntityManagerInView no JSF?

Pessoal, durante o curso vimos o padrão "OpenEntityManagerInView" sendo usado no Spring com o interceptor OpenEntityManagerInViewInterceptor.

No mundo JSF com projetos EE, existe alguma solução pronta parecida com essa?

Obrigado!

3 respostas

Fala ai Bodão, de boa ?

Cara até onde vi, não achei nada parecido com isso no java ee

Tem sim, é o padrão "Open Session In View", tem alguns exemplos na Web, esse por exemplo: https://github.com/algaworks/curso-desenvolvimento-web-com-jsf2/blob/master/ProjetoCursoOpenSessionInView/src/com/algaworks/cursojsf2/financeiro/util/HibernateSessionFilter.java

Neste caso foi utilizado um filtro que abre a sessão no início da requisição e fecha automaticamente no final.

Tiago, obrigado pelo link.

Minha duvida nesse caso é se esse filter não está lidando com TODAS as requisições (arquivos .css, .js entre outros) o que poderia causar um sério problema de desempenho, já que vamos abrir uma conexão para todo tipo de requisição.

Não sei se é o caso dessa classe, mas se ela lida com todas as requisições, então é preciso escrever alguma regra para ignorar resources diversos.

Gostaria saber se não existe algo parecido com o OpenEntityManagerInViewInterceptor do SpringMVC. Já que esse interceptor do Spring resolve exatamente esse problema e gerencia o EntityManager apenas para requisições que sejam para o Controller. Ignorando requisições para recursos gerais do sistema (como arquivos, .js, .css, imagens etc).

Obrigado!