Na classe Produto criamos um objeto do tipo categoria que será responsável pelo mapeamento do relacionamento neste objeto fazemos as seguintes anotações:
@ManyToOne(fetch= FetchType.EAGER) que representa em sim o relacionamento do tipo N para 1, já o atributo fetch com valor FetchType.EAGER significa que toda vez que o objeto pai for recuperado da base o atributo mapeado também será recuperado;
@JoinColumn é usada para informar qual o nome da coluna que corresponde à chave estrangeira do mapeamento os atributos insertable e updatable que se assumirem true indica que o atributo deve ser inserido ou atualizado;
@Fecth vai definir como o atributo mapeado será recuperado da base, no nosso caso é feito um SELECT para recuperar o atributo. E assim conseguimos mapear o relacionamento N para 1