O professor fez um relacionamento @ManyToMany na classe Produto com uma lista de categoria.
Não é necessário usar o relacionamento bidirecional na classe Categoria para indicar que ela possui um relacionamento com Produto realizando o mapeamento mappedby.
public class Categoria {
//Atributos inibidos
@ManyToMany(mappedBy="Produto") private List produtos = new ArrayList<>();
//getters e setter inibidos }