Páginas

sexta-feira, 22 de novembro de 2013

Classes Exemplos

Estas classes foram usadas como exemplos em um tutorial de apresentação do Hibernate.

 Classe endereço:
@Embeddable
public class Endereco {
 
 @Column(name="rua")
 private String rua;
 
 @Column(name="numero")
 private String numero;
 
 @Column(name="complemento")
 private String complemento;
 
 @Column(name="cidade")
 private String cidade;
 
 @Column(name="bairro")
 private String bairro;
 
 @Column(name="estado")
 private String estado;
 
 @Column(name="cep", nullable=false)
 private String cep;
 
 public void set and get.... {
 

Classe paciente:
@Entity
@Table(name = "paciente")
public class Paciente {

 @Id
 @GeneratedValue(strategy = GenerationType.IDENTITY)
 @Column(name = "cod_paciente")
 private Long codigo;

 @Column(name = "nome")
 private String nome;

 @Column(name = "cpf", nullable = false, unique = true)
 private String cpf;

 @Temporal(TemporalType.DATE)
 @Column(name = "datanasc")
 private Date dataNascimento;

 @Column(name = "email")
 private String email;

 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
 @JoinColumn(name = "paciente_fk")
 private List<Telefone> telefones = new ArrayList<Telefone>();

 @Embedded
 private Endereco endereco;

 @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
 @JoinColumn(name = "paciente_fk")
 private List<Plano> planos = new ArrayList<Plano>();

 @OneToMany(mappedBy = "paciente")
 private List<Consulta> consultas = new ArrayList<Consulta>();

 public List<Plano> set and get.... {

Classe telefone:
@Entity
@Table(name= "telefone")
public class Telefone {
 
 @Id
 @GeneratedValue(strategy=GenerationType.IDENTITY)
 private Long id;
 
 @Column(name="numero")
 private String numero;
 
 @Enumerated(EnumType.STRING)
 @Column(name="tipo_telefone")
 private TipoTelefone tipo;

 @ManyToOne(fetch = FetchType.EAGER)
 @JoinColumn(name = "paciente_fk")
 private Paciente paciente;

Classe Tipo telefone:
public enum TipoTelefone {

 CELULAR("Celular"), RESIDENCIAL("Residencial"), COMERCIAL("Comercial");

 private String label;

 private TipoTelefone(String label) {
  this.label = label;
 }

 public String getLabel() {
  return label;
 }
}

Classe plano:
@Entity
@Table(name="plano")
public class Plano{

 @Id
 @GeneratedValue(strategy = GenerationType.IDENTITY)
 private Long id;
 
 @Enumerated(EnumType.STRING)
 @Column(name="nome")
 private NomePlano nome;
 
 @ManyToOne
 @JoinColumn(name = "paciente_fk")
 private Paciente paciente;
 
 @Column(name="data_validade")
 @Temporal(TemporalType.DATE)
 private Date dataValidade;

 
 public Long public void set and get.... {
 
}

Classe Nome plano:
public enum NomePlano {
 
 UNIMED("Unimed"), AMIL("Amil"), AMS("Ams"), GOLDENCROSS("Golden Cross"), DIX("DIX"), ASSIM("Assim"), SEMPLANO("Sem Plano");
  
 private String label;
  
 private NomePlano(String label) {
  this.label = label;
 }
 public String getLabel() {
  return label;
 }
}

Nenhum comentário:

Postar um comentário