【发布时间】:2012-08-20 06:22:07
【问题描述】:
@Entity
public class doctor {
@Id
private int id;
private String username;
private String password;
private String phone;
private String email;
@OneToMany(targetEntity = patient.class, cascade = CascadeType.ALL, mappedBy = "doctor")
@Cascade(value = org.hibernate.annotations.CascadeType.ALL)
private Collection<patient> patients = new ArrayList<patient>();
}
@Entity
public class patient {
@Id
private int id;
private String name;
private String surname;
private String phone;
private int systolic;
private int diastolic;
@ManyToOne
private doctor doctor;
}
目前我只能按此标准检索医生信息:
Criteria query = session.createCriteria(doctor.class);
query.createCriteria("patients", "p");
query.add(Restrictions.eq("p.phone", phone));
List<doctor> doctorList = (ArrayList<doctor>) query.list();
我如何使用休眠标准通过提供患者电话、他的医生信息和一些患者信息来检索?
类似:phone=3423423424,那么答案是:
----------医生信息-------------------------------- --患者信息(收缩压,舒张压)-----------
1 "Dr dre" sdfssd 243242 drdre@gmail.com 160 170
160 170 是患者的信息
如果不使用标准,使用 HQL?
【问题讨论】:
标签: java hibernate hql hibernate-criteria