Olá pessoal!
Eu tenho a classe Pessoa, onde tenho duas classes extendendo ela: Professor e Aluno.
No Aluno, eu tenho uma ligação com uma Tabela de Etnia, não vou colocar em pessoa porque só preciso dela em Aluno.
vejam o código abaixo:
Pessoa
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class Pessoa {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long idPessoa;
@Lob
private byte[] foto;
@Column(length=50, nullable=false)
private String nome;
@Column(length=50, nullable=false)
private String sobreNome;
@Column(length=50)
private String identidade;
@ManyToOne
@JoinColumn(name="idSexo",referencedColumnName="idSexo",nullable=false)
private Sexo sexo;
@Column(length=70)
private String email;
@Column(length=90, nullable=false)
private String endereco;
@Column(length=15)
private String numero;
@Column(length=40)
private String bairro;
@ManyToOne
@JoinColumn(name="idCidade",referencedColumnName="idCidade",nullable=false)
private Cidade cidade;
@ManyToOne
@JoinColumn(name="idEstado",referencedColumnName="idEstado",nullable=false)
private Estado estado;
@Column(length=9)
private String cep;
@Column(length=25)
private String complemento;
@Column(length=11, nullable=false)
private String telefone;
@Column(length=11)
private String celular;
private Date dataNascimento;
@Transient
private String dataNascimentoFormatada;
@ManyToOne
@JoinColumn(name="idEscolaridade",referencedColumnName="idEscolaridade",nullable=false)
private Escolaridade escolaridade;
//getters e setters etc
Aluno
@Entity
public class Aluno extends Pessoa implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Column(length=100)
private String nomePai;
@Column(length=100)
private String nomeMae;
@Column(length=20)
private String serie;
@Column(length=100)
private String nomeEscola;
@Column(length=100)
private String contatoEscola;
@Column(length=11)
private String telefoneEscola;
@ManyToOne
@JoinColumn(name="idEtnia",referencedColumnName="idEtnia",nullable=false)
private Etnia etnia;
@OneToMany(mappedBy="aluno")
private List<AlunoEquipe> alunoEquipe;
@OneToMany(mappedBy="aluno")
private List<AlunoCategoria> alunoCategoria;
@OneToMany(mappedBy="aluno")
private List<AlunoPosicao> alunoPosicao;
@Column(length=40)
private String time;
@Column(length=40)
private String filme;
@Column(length=40)
private String hobby;
@Column(length=40)
private String prato;
@Column(length=40)
private String livro;
@Column(length=40)
private String musica;
@Column(length=40)
private String idolo;
//getters e setters e etc
Professor
@Entity
public class Professor extends Pessoa implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Column(length=11,nullable=false)
private String cpf;
getters e setters e etc
Etnia
@Entity
public class Etnia implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long idEtnia;
@Column(length=50)
private String nome;
@OneToMany(mappedBy="etnia")
private List<Aluno> alunos;
public Etnia() {}
getters e setters e etc
Salva normalmente… mas o problema é que o id da chave extrangeira da etnia na tabela Aluno não está salvando… na tabela pai que é Pessoa… as outras relações estão salvando as chaves estrangeiras normalmente!
O que faço pra resolver isso??
obrigado!