| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 10:59:17
|
david.cs20
JavaGuru
![[Avatar]](/images/avatar/b0c01f1f6d5e54fbd6a1bfff163acb60.jpeg)
Membro desde: 06/02/2008 16:49:13
Mensagens: 238
Offline
|
Tenho um grupo de usuário a qual tem um supervisor criei um relacionamento @ManyToOne porem quando vou realizar o inserte no banco ele não insere o id do usuário e assim não faz o meu relacionamento
Segue abaixo a classe usuário:
This message was edited 1 time. Last update was at 16/01/2012 16:04:31
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 11:12:46
|
Rafael Guerreiro
JavaEvangelist
Membro desde: 26/10/2010 07:28:13
Mensagens: 482
Localização: São Paulo/SP
Online
|
David, boa tarde!
Você poderia postar os códigos do controller e do DAO?
Eu estou achando que o problema é que você não está setando o atributo supervisor...
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 11:22:46
|
david.cs20
JavaGuru
![[Avatar]](/images/avatar/b0c01f1f6d5e54fbd6a1bfff163acb60.jpeg)
Membro desde: 06/02/2008 16:49:13
Mensagens: 238
Offline
|
GrupoDAO
GrupoController
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 12:13:12
|
Rafael Guerreiro
JavaEvangelist
Membro desde: 26/10/2010 07:28:13
Mensagens: 482
Localização: São Paulo/SP
Online
|
Então, vamos mexer em algumas coisinhas.
O VRaptor é poderosíssimo e tem alguns recursos que você pode utilizar, tais como a injeção de dependências.
Por exemplo: Criar um DAO genérico e não se preocupar mais com código repetido, mas sim com código específico:
Dessa forma, seu GrupoDAO fica um pouco melhor:
Mas para isso, você vai precisar fazer um ComponentFactory de Session e de SessionFactory:
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 12:24:14
|
Rafael Guerreiro
JavaEvangelist
Membro desde: 26/10/2010 07:28:13
Mensagens: 482
Localização: São Paulo/SP
Online
|
Agora, no seu controller, você não precisa mais se preocupar em instanciar o costrutor:
Agora quanto ao problema em específico, você vai precisar receber o id do usuário e setar o supervisor, no seu controller...
E repara que você pode fazer o mesmo com o UsuarioDAO:
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 13:01:02
|
david.cs20
JavaGuru
![[Avatar]](/images/avatar/b0c01f1f6d5e54fbd6a1bfff163acb60.jpeg)
Membro desde: 06/02/2008 16:49:13
Mensagens: 238
Offline
|
Rafael e extremamente necessário eu criar o SessionProvider e o SessionFactoryProvider !?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 13:08:51
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
necessário não é, mas é melhor...
quando vc manda salvar o grupo, o id do usuário está preenchido?
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 13:28:47
|
david.cs20
JavaGuru
![[Avatar]](/images/avatar/b0c01f1f6d5e54fbd6a1bfff163acb60.jpeg)
Membro desde: 06/02/2008 16:49:13
Mensagens: 238
Offline
|
Estou perguntando pois tenho um CreateSession a qual ler o Hibernate.cfg.xml
E lucas por enquanto ainda estou digitando o id do usuário na mão
Mais pretendo passar isso via um parâmetro vindo de um pop - up
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 13:32:46
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
cuidado: você está abrindo a Session, mas não está fechando... isso vai causar vazamento de conexões e sua aplicação vai parar de funcionar depois de um tempo...
bom, se vc tá passando mesmo o id do usuário antes de salvar o grupo, não tem pq ele não salvar isso no banco.
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 13:44:20
|
david.cs20
JavaGuru
![[Avatar]](/images/avatar/b0c01f1f6d5e54fbd6a1bfff163acb60.jpeg)
Membro desde: 06/02/2008 16:49:13
Mensagens: 238
Offline
|
Seguir o conselho do rafael e criei o genericDAO porem ele da o seguinte erro no console:
E também pude observar que na url do projeto tanto o id quanto o nome do grupo estão setados corretamente
E como poderia fechar essa conexão do session ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 13:50:07
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
faz o seguinte, apague a sua classe CreateSession e coloque essas linhas no seu web.xml:
(se já tiver essa configuração de packages, só acrescente o pacote do hibernate)
e em todos os lugares onde estava usando esse CreateSession, receba a session no Construtor (se for um @Component ou algo do tipo)
o VRaptor vai se encarregar de cuidar da session pra vc.
Não precisa abrir transações no seu código, pq o VRaptor vai fazer isso pra vvc tb.
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 13:54:44
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
ah, vc passou o parâmetro: grupo.supervisor=1 , mas se vc quer setar o id do supervisor, vc precisa passar:
grupo.supervisor.id=1
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 15:12:58
|
david.cs20
JavaGuru
![[Avatar]](/images/avatar/b0c01f1f6d5e54fbd6a1bfff163acb60.jpeg)
Membro desde: 06/02/2008 16:49:13
Mensagens: 238
Offline
|
Fiz todos esses passo consigo realizar todas as operações no hibernate porem ainda fica dando o seguinte erro que nao tenho ideia do que pode ser !
Como se apos realizar a operação ele não enxergasse o que tem que ser feito !
This message was edited 2 times. Last update was at 16/01/2012 15:14:41
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 15:45:02
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
vc tirou todos os códigos que abrem e commitam transações?
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/01/2012 15:48:09
|
david.cs20
JavaGuru
![[Avatar]](/images/avatar/b0c01f1f6d5e54fbd6a1bfff163acb60.jpeg)
Membro desde: 06/02/2008 16:49:13
Mensagens: 238
Offline
|
So tenho commit no GenericDAO
|
|
|
 |
|
|