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/