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