Relacionamento complexo

Fala Galera!

Estou com uma dúvida meio complexa.

Tenho a seguinte situação:

Tenho as Tabelas:

  • Prestador
  • Empresa
  • Especialidade

O resultado dessas eu tenho:

Prestador_x_Especialidade (N:M)
Prestador_x_Empresa (N:M)

Desta forma, sei quais especialidades e empresas o prestador possue.

Agora, preciso dizer quais especialidades ele pode atender por empresa, dai gerou a tabela:

Prestador_x_Empresa_x_Especialidade, onde tenho o relacionamento de

Prestador_X_Empresa_X_Especialidade (Prestador, Especialidade) <-> Prestador_Especialidade (Prestador, Especialidade)
Prestador_X_Empresa_X_Especialidade (Prestador, Empresa) <-> Prestador_Empresa (Prestador, Empresa)

Pelo visto: Nesta tabela tenho os campos

IdPrestador, IdEmpresa e IdEspecialidade

Onde gerou as chaves:

IdPrestador, IdEmpresa e IdEspecialidade (PK)
IdPrestador, IdEmpresa (FK)
IdPrestador, IdEspecialidade (FK)

No JPA tenho


class Prestador {

    @ManyToMany
    private List<Especialidade> especialidades

    @ManyToMany
    private List<Empresa> empresas


}

Como ficaria a tabela PrestadorEmpresaEspecialidade?

Obrigado!