galera esta acontecendo o seguinte problema
quando eu salvo o registro a primeira vez o campo versao == 0,
quando eu coloco para editar o registro a primeira vez o campo versao == 1,
mas quando eu tento editar o registro novamente aparece a seguinte mensagem
[color=red]org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [br.com.radio.model.PedirMusica#156] [/color]
[quote=Hebert Coelho][quote=Aleksandro][quote]estou abrindo a conexão direto do xml …
web.xml [/quote]
Você tá fechando sessão hibernate ?
session.close();
[/quote]No caso da injeção do VRaptor precisa de fechar a transação na unha? :shock: [/quote]
Não sei se ele tá acompanhando alguma apostila ou algo do tipo … pela mensagem em si , o erro é bem isto e também não vi o hibernateutil que ele descreve no web.xml , talvez lá não esteja fazendo o close … o correto era não precisar fazer na mão …enfim é uma suposição …pode ser isto …
[quote=Aleksandro][quote=Hebert Coelho][quote=Aleksandro][quote]estou abrindo a conexão direto do xml …
web.xml [/quote]
Você tá fechando sessão hibernate ?
session.close();
[/quote]No caso da injeção do VRaptor precisa de fechar a transação na unha? :shock: [/quote]
Não sei se ele tá acompanhando alguma apostila ou algo do tipo … pela mensagem em si , o erro é bem isto e também não vi o hibernateutil que ele descreve no web.xml , talvez lá não esteja fazendo o close … o correto era não precisar fazer na mão …enfim é uma suposição …pode ser isto …[/quote]Eu perguntei pois não sei como funciona. Ele mesmo disse ali em cima que não sabia como fechar, e já supunha que tudo era feito automático. Eu também pensaria que é assim também. Mas, prefiro deixar alguém que saiba de VRaptor falar. Por isso te perguntei, achei que o funcionamento seria igual ao da transação do EJB. ^^
Com o Vraptor você pode criar um provedor de conexão ou utilizar um que já vem por padrão no projeto, para isso basta colocar o código abaixo no web.xml, sendo assim quando temos a dependencia do EntityMananer o Vraptor já saberá como trata-la.
Se não me engano o Vraptor vai criar um interceptador e trabalhar com o conceito de Open Session In View !
Sendo assim ele SEMPRE irá fechar a conexão após exibir a pagina, sem você ter que controlar isso na mão.
Percebi que você esta usando diretamente a Session do Hibernate então segue abaixo um link mostrando como configurar o Vraptor com Hibernate.
Com o Vraptor você pode criar um provedor de conexão ou utilizar um que já vem por padrão no projeto, para isso basta colocar o código abaixo no web.xml, sendo assim quando temos a dependencia do EntityMananer o Vraptor já saberá como trata-la.
Se não me engano o Vraptor vai criar um interceptador e trabalhar com o conceito de Open Session In View !
Sendo assim ele SEMPRE irá fechar a conexão após exibir a pagina, sem você ter que controlar isso na mão.
Percebi que você esta usando diretamente a Session do Hibernate então segue abaixo um link mostrando como configurar o Vraptor com Hibernate.
Com o Vraptor você pode criar um provedor de conexão ou utilizar um que já vem por padrão no projeto, para isso basta colocar o código abaixo no web.xml, sendo assim quando temos a dependencia do EntityMananer o Vraptor já saberá como trata-la.
Se não me engano o Vraptor vai criar um interceptador e trabalhar com o conceito de Open Session In View !
Sendo assim ele SEMPRE irá fechar a conexão após exibir a pagina, sem você ter que controlar isso na mão.
Percebi que você esta usando diretamente a Session do Hibernate então segue abaixo um link mostrando como configurar o Vraptor com Hibernate.
Isto eu sabia, o que eu to estranhando no erro em questão é que tem haver com o fechamento da sessão no hibernate , eu já usei algumas vezes o vraptor e conheço um pouco o seu comportamento … de qualquer forma o que se pode fazer neste caso é limpar o projeto , limpar os caches do browser , limpar as pastas dos projetos no servidor e subir novamente a aplicação e nos enviar os logs , pois assim acredito que poderemos ajudar de um outra maneira , pois somente o erro postado deixa muitas dúvidas, fica a dica, abs.