ManyToMany
Será feito na tabela author e book, pois, um livro pode ter mais de um autor e um autor pode ter mais de um livro.
Um livro terá uma coleção de autores. Autores terá uma coleção de livros.
Na classe BookModel Veja aqui
Importaremos um Set de AuthorModel.
Passaremos anotação @ManyToMany
Dessa vez, não será JoinColumn, pois teremos uma coleção de ambos os lados.
Usaremos @JoinTable, (tabela auxiliar), que vai unir os ID's das suas entidades. Dentro do JoinTable, daremos alguns comandos:
name = "nome da tabela auxiliar"
joinColumns = @JoinColumn(name = "book_id") > chave primária
inverseJoinColumns = @JoinColumn(name = "author_id") > chave estrangeira
Na classe AuthorModel Veja aqui
Importaremos um Set de BookModel
Passaremos anotação @ManyToMany
E aplicaremos o relacionamento. Dentro de @ManyToManny, passaremos o mappedBy novamente. E aí, é o que já sabemos. Como o Author foi importado na classe? Como "authors" (dono desse relacionamento). Portanto, o mappedBy terá justamente esse nome associado a ele.
Atualizado