@Killer_Curt escreveu:
Estou tendo um problema usando uma classe que é Generica para outras classes, nessa classe ela é tem apenas um atributo que é o "Código" que também é a chave estrangeira de outras classes. Mas esse código quando é gerado ele é sequencial para todas as classes por exemplo: Quando eu salvo um funcionário que extends a minha Classe Generica que tem o "Código", ele salva como código 1, Ai quando eu salvo um usuário que também extends a minha classe Generica, ele salva como 2, mas o certo era ele salvar como 1 ja que era o primeiro registro do usuario. Estou usando @MappedSuperclass, segue o codigo abaixo.
@SuppressWarnings("serial")
@MappedSuperclass
public class GenericEntidade implements Serializable {
@Id
@GeneratedValue (strategy = GenerationType.AUTO)
private Long codigo;
public Long getCodigo() {
return codigo;
}
public void setCodigo(Long codigo) {
this.codigo = codigo;
}
}
//------- Classe Funcionario----
@SuppressWarnings("serial")
@Entity
public class Funcionario extends GenericEntidade {
@Column(length = 20)
private String carteiraTrabalho;
@Temporal(TemporalType.DATE)
@Column(nullable = false)
private Date dataAdmissao;
@OneToOne
@JoinColumn(nullable = false)
private Pessoa pessoa;
public String getCarteiraTrabalho() {
return carteiraTrabalho;
}
public void setCarteiraTrabalho(String carteiraTrabalho) {
this.carteiraTrabalho = carteiraTrabalho;
}
public Date getDataAdmissao() {
return dataAdmissao;
}
public void setDataAdmissao(Date dataAdmissao) {
this.dataAdmissao = dataAdmissao;
}
public Pessoa getPessoa() {
return pessoa;
}
public void setPessoa(Pessoa pessoa) {
this.pessoa = pessoa;
}
}
//-------- Minha classe Usuario
@SuppressWarnings("serial")
@Entity
public class Usuario extends GenericEntidade {
@Column(length = 32, nullable = false)
private String senha;
@Column(nullable = false)
private Character tipo;
@Column(nullable = false)
private Boolean ativo;
@OneToOne
@JoinColumn(nullable = false)
private Pessoa pessoa;
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public Character getTipo() {
return tipo;
}
public void setTipo(Character tipo) {
this.tipo = tipo;
}
public Boolean getAtivo() {
return ativo;
}
public void setAtivo(Boolean ativo) {
this.ativo = ativo;
}
public Pessoa getPessoa() {
return pessoa;
}
public void setPessoa(Pessoa pessoa) {
this.pessoa = pessoa;
}
}
Mensagens: 1
Participantes: 1