Dificuldade com classes N:N em Hibernate

olá, sou praticamente iniciante em Hibernate e estou encontrando dificuldades para fazer estas classes e suas respectivas tabelas em banco.

Requisito: preciso gerar um plano de produção composto por várias etapas (corte, costura, montagem…) que é composto por várias matérias-primas. Uma matéria-prima pode aparecer até uma vez em cada etapa.

Minha dúvida é: 1º o modelo que eu fiz está correto, e 2º se está correto, como poderei fazer as classes com hibernate para gerar estas tabelas, sendo que a tabela materiasEtapas deve ter 3 chaves primárias (plano, etapa e insumo).

Desde já obrigado.


Veja esse post: JPA: Mini Livro - Primeiros passos e conceitos detalhados.

Ele mostra como fazer chave primaria composta.