Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Gravar em relacionamento muitos para muitos

Estou fazendo alguns cursos de Java aqui na Alura a três meses e para testar os meus conhecimentos criei um pequeno aplicativo em Java com MySQL para gerenciar o empréstimo de livros em uma biblioteca. Na verdade terminei o aplicativo, mas uma das partes não ficou como eu queria, pois não consegui desenvolver a parte onde eu gravaria dados em três tabelas relacionadas. A estrutura resumida, das tabelas segue abaixo:

ACERVO Id (Int - PK) Nome (String)

AUTORES Id (Int - PK) Nome

ACERVO_AUTORES Acervo_id (int) Autor_id (int)

Foi ai que eu não soube resolver o problema, eu coloquei na tabela ACERVO um campo Autor_id e fiz um relacionamento entre as tabelas ACERVO e AUTORES acabando com o meu problema, mas no mundo real um livro pode ter N Autores e um Autor pode escrever N Livros e para isso deveria ter um relacionamento entre ACERVO e AUTORES através da tabela ACERVO_AUTORES.

Na teoria eu sei que de alguma forma eu deveria cadastrar um item no acervo e ir pedindo os aurores e ir guardando num ArrayList e no final gravar os dados do acervo na tabela ACERVO e os dados do autor ou autores na tabela AUTORES.

Tudo muito bacana, mas não consegui programar.

Gostaria de saber se alguém teria algum exemplo real desse modelo funcionando para me ajudar.

Caso alguém esteja aprendendo como eu e queira pegar o código fonte pra dar uma olhada fique a vontade o código e a descrição do aplicativo estão em: 1) GitHub (código fonte): https://github.com/alexandremcp/Papyrus 2) Site: (Telas e descrição de cada uma além da estrutura do banco): http://www.lagosdesigngrafico.com/papyrus/

4 respostas

Oi Alexandre, parece que a teoria está clara para você. Pensando no código, você chegou a fazer alguma tentativa? Tem algum esboço?

Fiz várias mas infelizmente não guardei os esboços, como tenho que por isso tudo dentro daquele ambiente gráfico lá no NetBeans guardando depois esse ArrrayList num TableModel pra no final gravar o ACERVO com seus AUTORES no DB ficou complicado demais e não foi por falta de pesquisa não, aliás nesse tempo todo de curso acho que é a segunda vez que posto uma dúvida, sempre corro atrás e encontro mas dessa vez não consegui, qualquer coisa se já tiver algo parecido já pronto eu dou meu jeito de arrumar no meu código. De qualquer forma muito obrigado mesmo só por ter lido e se interessado pelo meu problema Alberto. PS.: Conheço a teria porque já fui programador nos anos 90 em Clipper Summer 87, como costumo dizer, os dinossauros ainda caminhavam sobre a terra kkk. Abraços.

Essa do Dinossauro foi massa,kkkk...Dessa forma você era um Neandertal sofisticado, hehehehe....Zoas!!!

solução!

Depois que já estiver fera em Java ninguém me segura me autopromovo a Homo sapiens digital. kk