Sei que o erro ocorre por que capturei o objeto e quando vou chamar um metodo que está como LAZY a sessão está fechada!
Minha duvida é a seguinte:
Esse erro está dando na pagina jsp quando vou carregar as informações que estão em LAZY. Como vocês fariam para controlar a sessão do hibernate sem deirar aberta e não gerando esse erro e sem alterar para EAGER??
Procura no google sobre o design pattern “Open Session In View”.
Basicamente, usando ele a sessão do hibernate será fechada apenas depois de renderizar a página e mandá-la pro cliente.
brucsantos
wendelcavalcante:
Procura no google sobre o design pattern “Open Session In View”.
Basicamente, usando ele a sessão do hibernate será fechada apenas depois de renderizar a página e mandá-la pro cliente.
Bom dia wendelcavalcante!
Eu cheguei a fazer dessa forma o controle de transações. Só da pra fazer assim mesmo?
Abraços
lelodois
brucsantos:
wendelcavalcante:
Procura no google sobre o design pattern “Open Session In View”.
Basicamente, usando ele a sessão do hibernate será fechada apenas depois de renderizar a página e mandá-la pro cliente.
Bom dia wendelcavalcante!
Eu cheguei a fazer dessa forma o controle de transações. Só da pra fazer assim mesmo?
Procura no google sobre o design pattern “Open Session In View”.
Basicamente, usando ele a sessão do hibernate será fechada apenas depois de renderizar a página e mandá-la pro cliente.
Bom dia wendelcavalcante!
Eu cheguei a fazer dessa forma o controle de transações. Só da pra fazer assim mesmo?
Acho que você não entendeu minha duvida… Eu sei qual é o problema e sei uma forma de resolver. E duvida é saber se existe outra forma ou se alguem fez de outra forma.
Abraços.
Se alguem tiver alguma ideia…
Abradeço
von.juliano
São muitos os itens na collection associada?
Você pode não usar a collection associada ao objeto na view dando um “get” no objeto, você pode carregar os itens da coleção, digamos, de 20 em 20 e ir paginando.
Flw! :thumbup:
lelodois
brucsantos:
lelodois:
brucsantos:
wendelcavalcante:
Procura no google sobre o design pattern “Open Session In View”.
Basicamente, usando ele a sessão do hibernate será fechada apenas depois de renderizar a página e mandá-la pro cliente.
Bom dia wendelcavalcante!
Eu cheguei a fazer dessa forma o controle de transações. Só da pra fazer assim mesmo?
Acho que você não entendeu minha duvida… Eu sei qual é o problema e sei uma forma de resolver. E duvida é saber se existe outra forma ou se alguem fez de outra forma.
Abraços.
Se alguem tiver alguma ideia…
Abradeço
No seu controller, você pode copiar os valores de sua coleção para outra instância e coloca-la no seu jsp.
Você pode não usar a collection associada ao objeto na view dando um “get” no objeto, você pode carregar os itens da coleção, digamos, de 20 em 20 e ir paginando.
Flw! :thumbup:
Neste caso é uma tela que exibe um objeto e uma lista que ele tem dentro de digamos uns 5 itens no maximo.
Não teria a necessidade de fazer a paginação… Já pensei em fazer isso também mais não acho muito bonito ficar cheio de get sem usar o objeto que ele retorna…
No caso desse mesmo objeto em uma listagem, e nessa listagem você tivesse que mostrar esse atributo lista como você faria nesse caso para chamar o get de cada objeto? Iria fazer dois fors? um no Server e outro na pagina?
Obrigado pela força!
Abraços
brucsantos
lelodois:
brucsantos:
lelodois:
brucsantos:
wendelcavalcante:
Procura no google sobre o design pattern “Open Session In View”.
Basicamente, usando ele a sessão do hibernate será fechada apenas depois de renderizar a página e mandá-la pro cliente.
Bom dia wendelcavalcante!
Eu cheguei a fazer dessa forma o controle de transações. Só da pra fazer assim mesmo?
Acho que você não entendeu minha duvida… Eu sei qual é o problema e sei uma forma de resolver. E duvida é saber se existe outra forma ou se alguem fez de outra forma.
Abraços.
Se alguem tiver alguma ideia…
Abradeço
No seu controller, você pode copiar os valores de sua coleção para outra instância e coloca-la no seu jsp.
Este metodo que você me passou ele copia o objeto todo certo? eu teria que dar o get da minha lista antes de fazer essa copia? se sim iriamos cair no mesmo caso que comentei do von.juliano.
Abraçosss
lelodois
brucsantos:
lelodois:
brucsantos:
lelodois:
brucsantos:
wendelcavalcante:
Procura no google sobre o design pattern “Open Session In View”.
Basicamente, usando ele a sessão do hibernate será fechada apenas depois de renderizar a página e mandá-la pro cliente.
Bom dia wendelcavalcante!
Eu cheguei a fazer dessa forma o controle de transações. Só da pra fazer assim mesmo?
Acho que você não entendeu minha duvida… Eu sei qual é o problema e sei uma forma de resolver. E duvida é saber se existe outra forma ou se alguem fez de outra forma.
Abraços.
Se alguem tiver alguma ideia…
Abradeço
No seu controller, você pode copiar os valores de sua coleção para outra instância e coloca-la no seu jsp.
Este metodo que você me passou ele copia o objeto todo certo? eu teria que dar o get da minha lista antes de fazer essa copia? se sim iriamos cair no mesmo caso que comentei do von.juliano.
Abraçosss
Sim, copia.
No seu bean vc pode criar um getListaInicializada()
E no get vc faz o for e retorna a copia.
O for da página é inevitável.
Abs
von.juliano
brucsantos:
Neste caso é uma tela que exibe um objeto e uma lista que ele tem dentro de digamos uns 5 itens no maximo.
Não teria a necessidade de fazer a paginação… Já pensei em fazer isso também mais não acho muito bonito ficar cheio de get sem usar o objeto que ele retorna.
Pelas suas respostas, somando o que o lelodois disse, acho que só te sobra a opção do Open Session in View mesmo! :mrgreen:
Flw! :thumbup:
lelodois
von.juliano:
brucsantos:
Neste caso é uma tela que exibe um objeto e uma lista que ele tem dentro de digamos uns 5 itens no maximo.
Não teria a necessidade de fazer a paginação… Já pensei em fazer isso também mais não acho muito bonito ficar cheio de get sem usar o objeto que ele retorna.
Pelas suas respostas, somando o que o lelodois disse, acho que só te sobra a opção do Open Session in View mesmo! :mrgreen:
Flw! :thumbup:
Concordo plenamente!
Bruno, porque vc não quer usar o openSession ?
Algum preconceito?
rsrs
brucsantos
lelodois:
von.juliano:
brucsantos:
Neste caso é uma tela que exibe um objeto e uma lista que ele tem dentro de digamos uns 5 itens no maximo.
Não teria a necessidade de fazer a paginação… Já pensei em fazer isso também mais não acho muito bonito ficar cheio de get sem usar o objeto que ele retorna.
Pelas suas respostas, somando o que o lelodois disse, acho que só te sobra a opção do Open Session in View mesmo! :mrgreen:
Flw! :thumbup:
Concordo plenamente!
Bruno, porque vc não quer usar o openSession ?
Algum preconceito?
rsrs
Não que eu não queira não não sei se é certo misturar a parte de view com a parte de controle/serviço… Por isso queria saber uma forma mais bonita. Apenas isso.!
Abraços lelodois
lelodois
brucsantos:
lelodois:
von.juliano:
brucsantos:
Neste caso é uma tela que exibe um objeto e uma lista que ele tem dentro de digamos uns 5 itens no maximo.
Não teria a necessidade de fazer a paginação… Já pensei em fazer isso também mais não acho muito bonito ficar cheio de get sem usar o objeto que ele retorna.
Pelas suas respostas, somando o que o lelodois disse, acho que só te sobra a opção do Open Session in View mesmo! :mrgreen:
Flw! :thumbup:
Concordo plenamente!
Bruno, porque vc não quer usar o openSession ?
Algum preconceito?
rsrs
Não que eu não queira não não sei se é certo misturar a parte de view com a parte de controle/serviço… Por isso queria saber uma forma mais bonita. Apenas isso.!
Abraços lelodois
Isto não é quebra de mvc…
A idéia de criar dto’s vo’s e o’s… para representação dos dados na camada web é conturbada, use somente se houver um caso específico.
Diferenete disto a sua entidade percorre do dao para a tela, não vejo problema nisso.
brucsantos
lelodois:
brucsantos:
lelodois:
von.juliano:
brucsantos:
Neste caso é uma tela que exibe um objeto e uma lista que ele tem dentro de digamos uns 5 itens no maximo.
Não teria a necessidade de fazer a paginação… Já pensei em fazer isso também mais não acho muito bonito ficar cheio de get sem usar o objeto que ele retorna.
Pelas suas respostas, somando o que o lelodois disse, acho que só te sobra a opção do Open Session in View mesmo! :mrgreen:
Flw! :thumbup:
Concordo plenamente!
Bruno, porque vc não quer usar o openSession ?
Algum preconceito?
rsrs
Não que eu não queira não não sei se é certo misturar a parte de view com a parte de controle/serviço… Por isso queria saber uma forma mais bonita. Apenas isso.!
Abraços lelodois
Isto não é quebra de mvc…
A idéia de criar dto’s vo’s e o’s… para representação dos dados na camada web é conturbada, use somente se houver um caso específico.
Diferenete disto a sua entidade percorre do dao para a tela, não vejo problema nisso.
Outro dia eu estava pesquisando sobre isso tinha uma discussão bem acirrada sobre isso. Bom nesse momento vou ter que fazer dessa forma mesmo pois não tenho muito tempo para pesquisar. Depois quando sobrar um tempinho vou fazer algumas pesquisas para ver se encontro novidades. Se obtiver sucesso posto aqui no guj para todos.
Fica aberto o post caso alguem tenha outra ideia que queira compartilhar com todos!