Boa tarde, eu ja fiz os cursos da alura, e fiquei vago o assunto de relacionamento, agora to lendo uns livro de java que tudo está se encaixando, juntei muita mais muita coisa do curso com o livro, igual relacionamento onetoone manytoone onetomany, uma duvida que eu tenho, a unica que restou, li no livro, que no banco de dados relacional não é possivel um atributo List, levar a chave estrangeira de outra tabela correto?
Ai vem uma duvida minha, igual que tem no livro, e não entendi direito.
5.17 Relacionamentos muitos para muitos com o @ManyT oMany Osautomóveisvendidosnalojapodemteritensopcionais,comoarcondicionado, limpador traseiro e assim por diante. Muitos desses opcionais estão presentes em diferentescarros, demodoqueprecisamosrelacionaressasinformações, oquecaracterizaumrelacionamentomuitosparamuitos. Justamenteparaessetipodesituação,aJPApossuiaanotação @ManyToMany, quevamosusarpararelacionar Automovele Opcional:
@Entity public class Automovel {
110
CasadoCódigo Capítulo5. Comomapeartudo...ounada!
@Id @GeneratedValue private Integer id;
@ManyToMany private List<Opcional> opcionais;
}
@Entity public class Opcional {
@Id @GeneratedValue private Integer id;
private String descricao;
@ManyToMany(mappedBy="opcionais") private List<Automovel> automoveis;
}
Aqui que vem minha duvida, aqui o meu JPA automaticamente irá criar uma tabela no banco de dados, algo como Automovel_Opcional correto? Que seria o relacionamento do meu id do automovel e o id do opcional. Até ai tudo bem. Como disse no começo, não é possivel um List levar a chave estrangeira, e o relacionamento dessas tabelas é bidiricional, usamos a opção mappedBy, na classe que não queremos que levamos a chave estrangeira, e "ligamos" com o atributo da outra tabela, assim sendo o mappedBy está na tabela Opcinal, no livro fala que a minha classe Automovel está levando a chave estrangeira, mais como levar se é do tipo List? Aqui ngm está levando chave de ngm não é? JPA cria uma tabela para essa tabela levar as chaves estrangeiras, não seria isso? Porque no livro fala que a classe automovel está levando a chave