Olá amigos,
Eu tenho uma entidade PROFISSIONAL e uma entidade EMPRESA. Um PROFISSIONAL pode trabalhar em várias empresas. Uma EMPRESA pode ter vários profissionais. Relação @ManyToMany.
Acontece que um dos lados da relação (EMPRESA) já existe, e quando dou um manager.persist(profissional), o EntityManager tenta inserir novamente a empresa que já existe, e logicamente da erro de PK. Como fazer para o EntityManager entender que quero gravar apenas PROFISSIONAL e a associação na tabela associativa? Abaixo trecho do código das entidades onde faço essa associação
//trecho da relação na entity PROFISSIONAL
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name="profissional_empresa",
joinColumns=@JoinColumn(name="id_profissional"),
inverseJoinColumns=@JoinColumn(name="id_empresa")
public List<Empresa> getEmpresas() {
return empresas;
}
//Trecho do código da relação em EMPRESAS
@ManyToMany(mappedBy="empresas")
public List<Profissional> getProfissionais() {
return profissionais;
}
[]'s
Sávio