Сделал вот так: | Код | package model;
import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToOne; import javax.persistence.Table;
@Entity @Table(name = "account") public class Account implements Serializable { private static final long serialVersionUID = 1L; @Id @Column(name = "id") @GeneratedValue(strategy=GenerationType.AUTO) private Integer id; @Column(name = "login") private String login; @Column(name = "password") private String password; @OneToOne(mappedBy="account") private Patient patient;
public Patient getPatient() { return patient; }
public void setPatient(Patient patient) { this.patient = patient; }
public Account() { }
public Account(Integer id) { this.id = id; }
public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
public String getLogin() { return login; }
public void setLogin(String login) { this.login = login; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; }
@Override public int hashCode() { int hash = 0; hash += (id != null ? id.hashCode() : 0); return hash; }
@Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Account)) { return false; } Account other = (Account) object; if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { return false; } return true; }
@Override public String toString() { return this.login; } }
|
| Код | package model;
import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table;
@Entity @Table(name = "patient") public class Patient implements Serializable { private static final long serialVersionUID = 1L; @Id @Column(name = "id") @GeneratedValue(strategy=GenerationType.AUTO) private Integer id; @Column(name = "fname") private String fname; @Column(name = "sname") private String sname; @Column(name = "personal_code") private Integer personalCode; @Column(name = "email") private String email; @OneToOne @JoinColumn(name="login") private Account account;
public Account getAccount() { return account; }
public void setAccount(Account account) { this.account = account; }
public Patient() { }
public Patient(Integer id) { this.id = id; }
public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
public String getFname() { return fname; }
public void setFname(String fname) { this.fname = fname; }
public String getSname() { return sname; }
public void setSname(String sname) { this.sname = sname; }
public Integer getPersonalCode() { return personalCode; }
public void setPersonalCode(Integer personalCode) { this.personalCode = personalCode; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }
@Override public int hashCode() { int hash = 0; hash += (id != null ? id.hashCode() : 0); return hash; }
@Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Patient)) { return false; } Patient other = (Patient) object; if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { return false; } return true; }
@Override public String toString() { return super.toString(); } }
|
Потестировал... работает. И еще вопрос, а зачем в данном случае делать связь один к одному ? Можно все в одной таблице хранить.
|