olá…
eu preciso mapear as seguinte classes, com herança. Mas eu quero usar a herança do postgresql tb. como faço o mapeamento?
//superclasse
@Entity
@Table(name="tb_pessoas")
public abstract class Pessoa {
@Id
@Column(name="lg_cpf")
private Double cpf;
@Column(name="st_nome", length=60)
private String nome;
@Column(name="st_sexo", length=1)
private String sexo;
@Column(name="st_est_civil", length=10)
private String estadoCivil;
@Column(name="st_naturalidade", length=30)
private String naturalidade;
@Column(name="st_nacionalidade", length=30)
private String nacionalidade;
@Column(name="dt_nascimento")
private Calendar nascimento;
@Column(name="st_rg", length=15)
private String rg;
@ManyToMany
@JoinTable(
name="tb_pes_enderecos",
joinColumns=@JoinColumn(name="lg_pessoa"),
inverseJoinColumns=@JoinColumn(name="lg_endereco"),
uniqueConstraints={@UniqueConstraint(
columnNames={"lg_pessoa", "lg_endereco"})
}
)
private List<Endereco> enderecos;
@ManyToMany
@JoinTable(
name="tb_pes_contatos",
joinColumns=@JoinColumn(name="lg_pessoa"),
inverseJoinColumns=@JoinColumn(name="lg_contato"),
uniqueConstraints={@UniqueConstraint(
columnNames={"lg_pessoa", "lg_contato"})
}
)
private List<Contato> contatos;
...
}
//subclasse
@Entity
@Table(name="tb_alunos", uniqueConstraints={
@UniqueConstraint(columnNames={"lg_rm"})
})
public class Aluno extends Pessoa {
@Column(name="lg_rm")
private Long rm;
...
}