Oi Anderson,
Uma tabela de relacionamento é só necessária para um relacionamento @*ToMany
. No exemplo do exercicio, a tabela Escritor_Post
foi criada por causa da anotação @OneToMany
:
public class Escritor {
@OneToMany
private List<Post> posts;
}
O JPA entende que esse relacionamento é o "lado forte" e exige assim uma tabela de relacionamento. O exercício na verdade não define um relacionamento bidirecional (pois faltou o mappedBy
). O JPA entende as duas anotações como relacionamentos distintos.
Quando usamos o mappedBy
ai sim o JPA sabe que é um relacionamento bidirecional, sabe que já existe "um lado forte" que representa o relacionamento no banco de dados.
Por fim, o mappedBy
deve ficar na anotação @OneToMany
(ou no @ManyToMany
no relacionamento muitos para muitos). A anotação @ManyToOne
não possui um atributo chamada mappedBy
.
nao sei se consegui responder a sua duvida ....
abs,
Nico