ManyToMany Product
Na entidade Product:
@ManyToMany
@JoinTable(name = "tb_product_category",
joinColumns = @JoinColumn(name = "product_id"),
inverseJoinColumns = @JoinColumn(name = "category_id")
)
private Set<Category> categories = new HashSet<>();
O JoinTable criará uma tabela do meio (auxiliar/associação). Nela, passamos a referência para as duas chaves estrangeiras.
Passamos o JoinClumns para o product_id e o InverseJoinColumns (do outro lado), a category_id.
❗O JoinColumn leva o nome da classe que estamos utilizando. Como é a Classe Product, é product_id.
Atualizado