| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2007 18:00:57
|
cassio
GUJ Master
![[Avatar]](/images/avatar/8ae7398026ed8f2172aefd6cbc856bc8.jpg)
Membro desde: 19/06/2006 08:25:28
Mensagens: 1336
Localização: Caieiras-SP
Offline
|
Olá pessoal,
Tenho um relacionamento entre um vôo e os passageiros deste vôo. Esse relacionamento pode, por exemplo, ser mapeado como descrito abaixo
Estou usando um filtro para implementar o padrão "open session in view" e DAOs genéricos conforme demonstrado em http://www.hibernate.org/328.html.
Pelo que sei, usando CascadeType.PERSIST e CascadeType.MERGE, ao adicionar um novo passageiro na lista de passageiros de um Voo, eu não precisaria chamar save() duas vezes, uma para a entidade da classe Voo e outra para o passageiro. Uma vez somente, para o objeto da classe Voo seria o suficiente, certo?
Estou fazendo algo mais ou menos assim em uma classe de negócio:
E na classe Voo garanto o relacionamento bidirecional fazendo
Acontece que quando utilizo o método adicionarPassageiro(long vooId, Passageiro p), o passageiro não é persistido.
Já debuguei tudo e não acho o erro... A transação está sendo corretamente comitada quando o request HTTP volta para o filtro, conforme o "open session in view", mas mesmo olhando no console do Eclipse, nenhuma sentença SQL de insert ou update é gerada pelo Hibernate.
Onde posso estar errando?
Obrigado e um abraço!
This message was edited 3 times. Last update was at 18/11/2007 18:04:17
|
Cássio Marques
Blog
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/11/2007 11:58:07
|
cassio
GUJ Master
![[Avatar]](/images/avatar/8ae7398026ed8f2172aefd6cbc856bc8.jpg)
Membro desde: 19/06/2006 08:25:28
Mensagens: 1336
Localização: Caieiras-SP
Offline
|
Pessoal, me desculpem por dar um "up" no tópico. Fiz a besteira de postar isso no domingo e óbviamente niguém viu e agora o tópico ficou "lá prá baixo". Se alguém puder me ajudar...
Obrigado!
|
Cássio Marques
Blog
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/11/2007 13:29:39
|
ovelha
Java Ninja
![[Avatar]](/images/avatar/394201ad68984c677be221f6d9f263fc.jpeg)
Membro desde: 12/09/2007 13:17:41
Mensagens: 281
Offline
|
Ola, isto realmente deveria funcionar desde que o seu objeto passageiro esteje relacionado a sessão. Desde que o mesmo seja um objeto carregado pelo hibernate.
Este é o seu caso? Caso não seja, não vai funfar mesmo.
|
bééééééééééééééééé |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/11/2007 13:43:12
|
cassio
GUJ Master
![[Avatar]](/images/avatar/8ae7398026ed8f2172aefd6cbc856bc8.jpg)
Membro desde: 19/06/2006 08:25:28
Mensagens: 1336
Localização: Caieiras-SP
Offline
|
ovelha wrote:Ola, isto realmente deveria funcionar desde que o seu objeto passageiro esteje relacionado a sessão. Desde que o mesmo seja um objeto carregado pelo hibernate.
Este é o seu caso? Caso não seja, não vai funfar mesmo.
O objeto Voo está relacionado à uma sessão e foi carregado pelo Hibernate. O objeto da classe Passageiro acabou de ser criado.
Pior que tenho certeza que fiz como descrito no "Java Persistence With Hibernate", não consigo achar o que pode estar errado...
|
Cássio Marques
Blog
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/10/2011 10:33:16
|
robertouba
JavaBaby
![[Avatar]](/images/avatar/00eaecedf2482f81ff5877de3d923dea.jpg)
Membro desde: 21/10/2009 23:41:28
Mensagens: 82
Localização: Jacutinga, Minas Gerais
Offline
|
Cara você pode receber na sua classe somente o VOO, exemplo:
|
______________________________
[RoxF.]
|
|
|
 |
|
|