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