| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2009 14:17:58
|
Jair Rillo Junior
Moderador
![[Avatar]](/images/avatar/31b3b31a1c2f8a370206f111127c0dbd.jpg)
Membro desde: 29/04/2003 21:19:53
Mensagens: 2524
Localização: São Paulo / Campinas
Offline
|
Jedi_FeniX wrote:Funcionou quando eu inclui o objeto da ClassA na ClassB. Achei meio estranha esta solução. Mas valeu pela a ajuda!!!!
Não é estranho, é como o pdioniziofilho disse
pdioniziofilho wrote:
Nesse tipo de relacionamento voce tem que ter um lado que manda no seu relacionamento.
No caso de relacionamentos @ManyToOne e @OneToMany o lado que tem o @ManyToOne é sempre o que manda na relacao, ou seja, o lado onde é realizado os inserts, deletes e o cascade funciona para as outras classes.
Ou seja, o lado da ClasseB que manda no relacionamento, portanto ela deve conhecer o objeto da ClasseA. Uma solução para evitar isso seria utilizar o relacionamento OneToMany unidirecional (que apenas a Classe A enxerga a classe B), porém isso dai iria mudar o seu schema (e talvez no seus requisitos isso não seja válido).
|
Jair Rillo Junior
http://www.jairrillo.com/blog | Twitter | SCJA, SCJP, SCWCD, SCBCD, IBM SOA Associate |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2009 14:21:43
|
pdioniziofilho
JavaBaby
![[Avatar]](/images/avatar/4b730bb369f87ad369fde0ffbf74a3c2.jpg)
Membro desde: 23/06/2006 10:09:30
Mensagens: 95
Offline
|
vc tem que inserir o objeto da classeA dentro da classeB e a classeB na lista da classeA, senao nao funciona.
Um tem que "ligar" com o outro ja que voce esta usando o mapeamento bidirecional
@Apenas complementando com o que o Jair disse.
This message was edited 1 time. Last update was at 12/02/2009 14:23:49
|
SCJP
SCWCD
SCBCD
SCEA
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2009 14:22:42
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Entendi.
Então para que server o "mappedBy", se preciso incluir uma classe na outra?
E como ficaria a anotação com o relacionamento OneToMany unidirecional?
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2009 14:26:52
|
Jair Rillo Junior
Moderador
![[Avatar]](/images/avatar/31b3b31a1c2f8a370206f111127c0dbd.jpg)
Membro desde: 29/04/2003 21:19:53
Mensagens: 2524
Localização: São Paulo / Campinas
Offline
|
No caso do relacionamento unidirecional, irá ocorrer o seguinte:
- Não existirá o atributo ClasseA dentro da ClasseB
- Consequentemente, não havera o campo (CLASSEA_ID) na tabela CLASSEB (no banco de dados)
- Haverá uma nova tabela (CLASSEA_CLASSEB) com 2 campos: IDs de ambas as tabelas.
- Nesse caso não precisa do mappedBy.
|
Jair Rillo Junior
http://www.jairrillo.com/blog | Twitter | SCJA, SCJP, SCWCD, SCBCD, IBM SOA Associate |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2009 14:28:37
|
pdioniziofilho
JavaBaby
![[Avatar]](/images/avatar/4b730bb369f87ad369fde0ffbf74a3c2.jpg)
Membro desde: 23/06/2006 10:09:30
Mensagens: 95
Offline
|
Com o @OneToMany voce nao teria nada na sua classe que permitiria uma navegacao de volta para a classe que manda na relacao.
Exemplo:
removeria essse atributo classA da sua classe ..
e teria que mudar seu banco, criando uma "JoinTable"
o mappedBy serve para dizer para sua classe que todo mapeamento necessario para a relacao esta na outra classe, e que quem manda na relacao é a outra classe.
|
SCJP
SCWCD
SCBCD
SCEA
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2009 14:30:57
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Pelo que eu etendi, teria que ser criada uma tabela de relacionamento entre CLASSA e CLASSB, acho que neste caso, não iria ficar legal. E isso não iria bater com o requisito.
Mas valeu pela explicação, sempre é bom saber mais um pouco.
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2009 14:32:39
|
pdioniziofilho
JavaBaby
![[Avatar]](/images/avatar/4b730bb369f87ad369fde0ffbf74a3c2.jpg)
Membro desde: 23/06/2006 10:09:30
Mensagens: 95
Offline
|
opa!
qualquer coisa posta ae,
ps: to parecendo "papagaio de pirata", o Jair posta e enquanto eu dou um quote e posto nao vejo o post dele, em seguida posto praticamente o que ele escreveu.
|
SCJP
SCWCD
SCBCD
SCEA
|
|
|
 |
|
|