acontece que estou fazendo varias tentativas e nada dando certo ainda
estou fazendo uma chamada aosatributos que eu uso e continua o mesmo erro.
não fechei a sessão no final e coninua dando o mesmo erro.
o que é estranho é que tenho varios metodos semelhantes, e somente esse da esse erro, pq será?
Hammer
qd modifico fazendo a xamada do campos do objeto antes de fechar a sessao o erro “could not initialize proxy - no Session” fica dando agora na xamado do metodo para consultar a tabela e nao qd vou consultar algum campo do objeto
Paulo_Silveira1 like
Ola Hammer e Ronildo
Essa exception ocorre porque voce fechou a sessão do hibernate (ou entitymanager do JPA usando hibernate). Provavelmente voces estao fechando a sessao/entityManager antes de renderizar a pagina, isso é, antes de fazer o dispatch!
Hammer
bem, acontece q tenho uma classe dao q tem esse metodo que consulta a tabela do banco e retorna um list
na minha classe que tem os componentes swing eu xamo esse metodo e quando tento ver qualuer campo do objeto, menos o id, ele da esse erro
acontece q tenho varios metodos mt semelhantes, so mudando os objetos que sao retornados de acordo com oq eu kero, e soh esse esta dando problema, nada de muito difente
Hammer
e como assim fechar a sessão antes de redenrizar a pagina?
ja tentei abrir uma sessao antes de chamar o metodo, e ainda continua dando o mesmo erro, sinceramente nao sei o que esta acontecendo.
Hammer
como verifico se a pagina ja redenrizou? alguem pode me ajudar nesse caso?
klebernss
Cara, é o seguinte…
Quando você faz um Select ou um List no Hibernate, a coleção retornada fica presa na sessão e só está populada enquando a sessão (SessionFactory) estiver aberta.
A solução que eu encontrei foi colocar a coleção em um objeto fora da Session factory.
Essa exception ocorre porque voce fechou a sessão do hibernate (ou entitymanager do JPA usando hibernate). Provavelmente voces estao fechando a sessao/entityManager antes de renderizar a pagina, isso é, antes de fazer o dispatch!
O meu problema foi resolvido com essa dica!!
Obrigado
rycmaster2 likes
Eu tive o mesmo problema e resolvi simplesmente mudando o FetchType de LAZY para EAGER na entidade:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "usuarioid", nullable = false)
@NotNull
public Usuario getUsuario() {
return this.usuario;
}
ai o erro parou de acontecer. =)
thiagobarso1 like
rycmaster:
Eu tive o mesmo problema e resolvi simplesmente mudando o FetchType de LAZY para EAGER na entidade:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "usuarioid", nullable = false)
@NotNull
public Usuario getUsuario() {
return this.usuario;
}
ai o erro parou de acontecer. =)