Olá pessoal! Estou com um problema que pesquisando na net é um pouco comum porem mesmo assim não consegui resolve-lo com as referencias encontradas por isso estou postando aqui
O erro é este:
O LazyInitializationException é porque eu coloquei o LAZY ao invez de EAGER no meu mapeamento com anotações, eu até tentei forçar colocando a ManagerFactory em um Singleton e abrindo uma transaction antes de ele dar o GET… alguem tem alguma solução?
[]s
[code]
@OneToMany(mappedBy="texto", cascade=CascadeType.ALL, fetch=FetchType.LAZY)
private List<TextoLingua> traducao;
/** Retorna a traducao dos textos */
public List<TextoLingua> getTraducao() {
EntityManager entityManager = Sistema.getSistema().getManagerFactory().createEntityManager();
entityManager.getTransaction().begin();
entityManager.flush();
List<TextoLingua> a = traducao;
entityManager.getTransaction().commit();
entityManager.close();
return a;
}[/code]
eu acho que você tem uns mapeamentos que tem listas, ou many-to-one, e em outro lugar vc está buscando eles… como o lazy está true, dá erro mesmo! tenta colocar ele false
Eu sei que o erro ocorre porque esta LAZY, não quero que seja EAGER porque isso seria carregar muuuuuuitas coisas que estao interligadas que não precisam, só quero que carregue o que eu vou usar, já pesquisei algumas maneiras de fazer isso…mas ainda não obtive sucesso!!
[]s
Ninguem pessoal ?
Eu vi no site do Hibernate o Open Session in View --> http://www.hibernate.org/43.html
Será que isso vai funcionar comigo mesmo eu utilizando o Hibernate atravéz do JPA?
[]s
Só tentando pra ver!! :lol:
Gente me desculpa se vou fazer uma pergunta idiota mas tenho que faze-la!! Esse negocio funciona no Tomcat? vi alguns exemplos e o passoal sempre fala do JBOSS e tals…isso corresponde?
[]s
esse negócio oq??? os dois “FUNFAM”
[quote=Thiago Ananias]Gente me desculpa se vou fazer uma pergunta idiota mas tenho que faze-la!! Esse negocio funciona no Tomcat? vi alguns exemplos e o passoal sempre fala do JBOSS e tals…isso corresponde?
[]s[/quote]
Bom, vou te responder mais claramente:
[list]Se for fazer na mão, crie um Filtro ou um Listener, mantendo a sessão aberta “in view”.[/list]
[list]Caso não queira esse trabalho, que particularmente acho desnecessário mesmo, faça usando o Spring.[/list]
Quanto ao JBoss, Tomcat, GlassFIsh, não pense que não funciona. Se você estiver usando EJB 3 (com Hibernate), ai sim, somente Application Server (JBoss, GlassFish e etc).
Bons códigos
opa djemacao é por isso que me confundi! O problema é que eu vou trabalhar com JSF! Bom! O jeito vai ser estudar sobre EJB 3… tow boiando por causa disso ainda não tenho este fundamento que parece ser essencial para todos que programam em Web pra Java! mas obrigadoa todos!
vouter que estudar!
[]s
Galera, desde o dia que fiz este ultimo post estou tentando resolver este problema, fui atraz de um Server Application, fiz funcionar o JBoss com o Eclipse depois de muito esforço porem acabei decidindo usar o Netbeans porque já vinha junto o Glassfish e me facilitou muito o desenvolvimento(só é mais pesadinho) Deixando isto de lado, até peguei um PDF “MasteringEJB4” e tentei colocar os exemplos na pratica mas naum funcionaram olhem:
Este é o código que funciona:
[code]public class Conexao {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("PU");
EntityManager em = emf.createEntityManager();
public Modulo getModulo(int id) {
return em.find(Modulo.class, id);
}
}
[/code]
Este é o que deveria funcionar
[code]@Stateful
public class Conexao {
@PersistenceContext(type=PersistenceContextType.EXTENDED, unitName="PU")
EntityManager em;
public Modulo getModulo(int id) {
return em.find(Modulo.class, id);
}
}[/code]
Eu queria fazer que funcionasse com o @PersistenceContext pois pelo que eu entendi isto resolveria meu problema! o que estou fazendo de errado?
[]s