Boa Noite Pessoal.
Estou com um problema, que não sei como resolver esse mapeamento;
No meu banco de dados tenho uma tabela pessoa, onde salvo meus varios tipos de pessoas, como por exemplo, cliente, fornecedor, funcionario e transportadora.
No java tenho uma classe para cada tipo de pessoa, logo terei a classe Cliente, Fornecedor, etc.
Minhas pessooas podem ter varios contatos e endereços, minha dúvida é como mapeas essas classe de Cliente e Fornecedor para a Classe Contato
Abaixo segue como estou fazendo
@Entity
@Table(name = "contato")
public class Contato implements Serializable{
private static final long serialVersionUID = 1116058132248806046L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer contatoID;
@ManyToOne
@JoinColumn(name = "pessoaID")
private Cliente cliente;
@ManyToOne
@JoinColumn(name = "pessoaID")
private Fornecedor fornecedor;
@ManyToOne
@JoinColumn(name="filialID")
private Filial filial;
@ManyToOne
@JoinColumn(name="unidadeID")
private Unidade unidade;
@Column(length = 100)
private String nome;
@Column(length = 100)
private String email;
@Column(length = 20)
private String telefone;
@Column(length = 20)
private String celular;
@Column(length = 100)
private String voip;
//get - set
}
ao fazer isso o seguinte erro eh retornado
Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: classe.projeto.contato.Contato column: pessoaID (should be mapped with insert="false" update="false")
at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:676)
at org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:698)
at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:720)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:474)
at org.hibernate.mapping.RootClass.validate(RootClass.java:235)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1362)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1865)
at classe.projeto.utils.Conexao.buildSessionFactory(Conexao.java:16)
Como faço para mapear essas entidades ??
Att