Ajuda Mapeamento OneToMany

1 resposta
sech777

Pessoal, boa tarde!

Tenho uma classe TbEmpresa que herda uma Classe TbPessoa mapeada assim:

@Entity
@Table(name = "tb_empresa", schema = "public")
@PrimaryKeyJoinColumn(name = "cd_pessoa_empresa")
public class TbEmpresa extends TbPessoa implements java.io.Serializable {

     private List<TbEmpresaContato> tbEmpresaContatos = new ArrayList<TbEmpresaContato>(0);

       @OneToMany(cascade={CascadeType.ALL},orphanRemoval=true)
	@JoinColumn(name="cd_pessoa_empresa", referencedColumnName="cd_pessoa_empresa")
	public List<TbEmpresaContato> getTbEmpresaContatos() {
		return this.tbEmpresaContatos;
	}

	public void setTbEmpresaContatos(List<TbEmpresaContato> tbEmpresaContatos) {
		this.tbEmpresaContatos = tbEmpresaContatos;
	}
}

Quero fazer um relacionamento unidirecional da classe TbEmpresa com a TbEmpresaContato, como mostrado no código acima.

Ao tentar inserir um contato, dá o seguinte erro

Entrada em lote 0 insert into public.tb_empresa_contato (de_contato, txt_contato, cd_tp_contato, cd_pessoa_empresa) values ('T', '5', '1', '0') foi abortada. Chame getNextException para ver a causa.

Dá pra ver que o Hibernate não está setando o campo cd_pessoa_empresa. Este campo é PK em TbPessoa, PFK em TbEmpresa e PFK em TbEmpresaContato

Alguém pode me ajudar?

Obrigado.

1 Resposta

sech777

Pessoal? Alguém pode me ajduar? Uma dica qualquer? Plz

Criado 9 de setembro de 2011
Ultima resposta 12 de set. de 2011
Respostas 1
Participantes 1