Pessoal estou com o seguinte problema, utilizo JPA, logo pego meu entity manager assim
@PersistenceContext(unitName="unitTeste", type=PersistenceContextType.TRANSACTION)
private EntityManager em;
//gets
ou seja não tenho um HibernateUtil.
Na minha entidade eu fiz um relacinamento do tipo
@ManyToOne(fetch=FetchType.LAZY)
exatamente para evitar que tragam dados que eu não queria, até onde eu sei o JPA utiliza EAGER por padrão
O meu EJB eu setei como @Stateless e na minha query utilizei o seguinte
public List<MinhaClasse> buscar(String parametro) throws VoException{
String sql = "SELECT minhaClasse"+
" FROM MinhaClasse minhaClasse"+
" LEFT JOIN FETCH minhaClasse.outraClasse1"+
" LEFT JOIN FETCH minhaClasse.outraClasse2"+
" LEFT JOIN FETCH minhaClasse.outraClasse3"+
" WHERE minhaClasse.parametro = :parametro";
try {
return getEntityManager().createQuery(sql)
.setParameter("parametro", parametro)
.getResultList();
} catch (Exception e) {
...
}
}
porém ao rodar está dando o seguinte erro:
Caused by: org.hibernate.LazyInitializationException: could not initialize proxy - no Session
uma questão NÃO USO SPRING e a como quem gerencia a conexão é o JBoss também não fecho a sessão na mão.
Alguém tem alguma idéia do que posso fazer?