Pessoal to com uma dúvida aqui, CPF gostaria ele não force duplicado na hora do cadastro e não nulo e ele force chave primaria tbm !
como fica minha classe usando hiebernate ?
package br.gov.nutec.modelo;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name="pessoa")
public class Pessoa implements Serializable {
private static final long serialVersionUID = 2174678509151116408L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="pessoa_id") // chave primaria
private Long id;
@Column(name="nome")
private String nome;
@Column(name="digina")
private String digina;
@Column(name="data_matricula")
@Temporal(javax.persistence.TemporalType.DATE)
private Date data_matricula;
@Column(name="RG")
private String RG;
@Column(name="orgao_exp")
private String orgao_exp;
@Column(name="CPF") //chave primaria para melhorar a velocidade da pesquisa
private CPF;
@Column(name="titulo_ele")
private String titulo_ele;
@Column(name="endereco")
private String endereco;
@Column(name="bairro")
private String bairro;
@Column(name="cidade")
private String cidade;
@Column(name="fone")
private String fone;
@Column(name="celular")
private String celular;
@Column(name="email")
private String email;
@Column(name="senha")
private String senha;
@Column(name="cpf")
private String cpf;
@Temporal(TemporalType.DATE)
@Column(name="data_nasc")
private Date dataNascimento;
public void setNome(String nome) {
System.out.println("Pessoa >> nome : " + this.nome);
this.nome = nome;
}
@Override
public boolean equals(Object obj){
if( (obj instanceof Pessoa) && ( ((Pessoa)obj).getCpf().equals(this.cpf)) ){
return true;
}else{
return false;
}
}
}