package jpa; import java.io.Serializable; import java.util.Collection; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; /** * * @author Marcos García Núñez (mgarcianun@uoc.edu) * */ @Entity @Table(name = "MyHealth.FamilyDoctor") public class FamilyDoctorJPA implements Serializable { private static final long serialVersionUID = 1L; @Id @Column(updatable = false) @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; @Column(nullable = false, unique = true) private String professionalNumber; private String nif; private String name; private String surname; private String password; private String email; @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) @JoinColumn(name = "FamilyDoctorId") private Collection patients; @ManyToOne @JoinColumn (name="PrimaryHealthCareCenterId") private PrimaryHealthCareCenterJPA primaryHealthCareCenter; /** * Class constructor methods */ public FamilyDoctorJPA() { super(); } public FamilyDoctorJPA(String pin, String nif, String name, String surname, String password, String email, PrimaryHealthCareCenterJPA phc) { this.setProfessionalNumber(pin); this.nif = nif; this.name = name; this.surname = surname; this.password = password; this.email = email; this.primaryHealthCareCenter = phc; } public Integer getId() { return id; } public void setId(Integer value) { this.id = value; } public String getNif() { return nif; } public void setNif(String value) { this.nif = value; } public String getName() { return name; } public void setName(String value) { this.name = value; } public String getSurname() { return surname; } public void setSurname(String surname) { this.surname = surname; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } /** * Metodos para get/set de relaciones (pacientes) * @return */ public Collection getPatients() { return patients; } public void setPatients(Collection patients) { this.patients = patients; } public PrimaryHealthCareCenterJPA getPrimaryHealthCareCenter() { return primaryHealthCareCenter; } public void setPrimaryHealthCareCenter(PrimaryHealthCareCenterJPA center) { this.primaryHealthCareCenter = center; } public String getProfessionalNumber() { return professionalNumber; } public void setProfessionalNumber(String professionalNumber) { this.professionalNumber = professionalNumber; } }