Conforme sugerido pelo lucascs estou colocando os códigos fontes, depois detalho como fazer, mas o javadoc ja fala por se.
Meu post:
^^ … consegui fazer o LAZY com meus entityManager e session lucascs \o/ …agora ate economizando anotação eu estou… antes eu tinha uma anotação @DontIjectDaoFactory (no VRaptor 2) … quando encontrava essa anotação em logica ou componente, eu não criava uma conexão real…
agora eu mando um EntityManger Enchaced que só conecta mesmo quando chama o primeiro método… não preciso mais me preucupar com métodos que não precisam de conexão ^^ … CGLib muito rox
Post do lucas:
Muito bom! =)Se você quiser escrever uma receita de como vc fez isso, a gente publica no site do VRaptor… e agradece imensamente =)
a seção de cookbooks vai ser inaugurada hoje provavelmente, com receitas de usuários
[]'s
Observação: estou indo para trabalho, mais a noite escrevo um roteiro do que fiz.
Descrição das classes:
[list]HibernateUtils.java Classe auxiliar, para resolver problema de queda de conexão por inatividade (não é requirida, os locais onde tem invocações a ela podem ser removidos).[/list]
[list]ReflectionUtils.java Uma pequena classe utilitária, apenas com um método para encontrar métodos por reflexão sem lançar checked exceptions.[/list]
[list]JITEntityManagerCreator.java Cria EntityManagers Just in Time (ou seja LAZY) após a chamada a um método especifico da interface do manager, necessário a injeção de uma EntityManagerFactory. Implementa um ComponentFactory<EntityManager>[/list]
[list]JITSessionCreatorFromSessionFactory.java Cria Hibernate Session Just in Time (ou seja LAZY) após a chamada a um método especifico da interface da Session, necessário a injeção de uma SessionFacotry. Implementa um ComponentFactory<Session>[/list]
[list]JITSessionCreatorFromEntityManager.java Cria Hibernate Session Just in Time (ou seja LAZY) após a chamada a um método especifico da interface da Session, necessário a injeção de um EntityManager que também seja LAZY e que seja criado pelo hibernate provider. Implementa um ComponentFactory<Session>[/list]