Eu tenho uma tabela de ligação…e gostaria de saber como eu faço para populá-la…(como fica o DAO). As tabelas são Satelite, Estacao e Est_Sat. Inclui, altero e deleto perfeitamente em Satelite e Estacao, acrescentei no mapeamento das duas classes o many-to-many e beleza…está certo… pq quando o mapeamento não está correto nenhuma operação dá certo fazer (é web meu projeto). Só q agora não sei COMO fazer para incluir dados em Est_Sat, cujos unicos campos são id_sat e id_estacao e estes são CHAVES PRIMARIAS, E FKs AO mesmo tempo.
Como fazer???
Mas então as duas não tem nenhum relacionamento, pra você mapear um relacionamento many-to-many, você precisa de coleções nas classes…
M
mmelissaPJ
ahh entendi…qdo eu digo ManytoMany bate no que eu expliquei lah em cima…p que eu quero fazer. No banco eu jah tenho uma tabela chamada
sat_x_estacao que soh tem dois campos que sao a chave composta: id_sat e id_estacao. Eh esta tabela q nao to sabendo popular via aplicacao.
Mais uma vez…tem como vc me mandar em exemplo como eu faco estas colections para minhas classes? como vai ficar em cada um dos lados?
até e valeu
Ok. Mas não é somente estação que tem vários satélites…e sim satélites também têm várias estações. Ok…aí eu coloco um Set estação em Satelite tambem. Mas me dê um exemplo de como eu vou persistir o id_fonte e id_estacao que eu desejar na tabela
Sat_Estacao. COMOO??
OK! Eu fiz isto, em um arquivo chamado SatEstDAO.java…dentro do meu método para inserir dados. Olha o erro que deu:
“caminho” .java:44: warning: [unchecked] unchecked call to add(E) as a member of the raw type java.util.Collection estacao.getSatelites().add(satelite);
O que está acontecendo? os tipos estão como Collection mesmo nos VOs…jah fiz como HashSet como eu estou fazendo para os outros mas deu o mesmo erro…
J
jaireltonPJ
Isso não é um erro, é só um alerta, tá te dizendo que o Set pode ser parametrizado com generics para tornar as conversões de tipos mais seguras e mais faceis... Seria assim:
OK!
Eu tentei rodar assim mas não inseriu os meus dados no banco. Eu debuguei o programa e o erro é NullPointerException. Lembre que minha aplicação é JSP, neste caso eu entrei com o código do satelite e o codigo da estacao via um textbox na página.
Eu criei um SatEstacaoDAO para fazer a persistencia (o código q vc me passou acima), será que seria necessário eu criar um SatEstacaoVO para setar os atributos que eu quero (os dois IDs no caso)? Minha cabeca está dando um nó…
J
jaireltonPJ
Não saia criando classe pra tudo que você achar, se não daqui a pouco seu modelo de classes não faz o menor sentido mais...