Comment jointure de deux tables de l'utilisation d'Hibernate HQL ou Critères?

@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;
}

Pour l'instant je peux récupérer seulement les médecins information par ces critères:

Criteria query = session.createCriteria(doctor.class);
query.createCriteria("patients", "p");
query.add(Restrictions.eq("p.phone", phone));
List<doctor> doctorList = (ArrayList<doctor>) query.list();

Comment je peux avec hibernate critères de récupérer en donnant de téléphone du patient, son médecin et des patients de l'information?

Quelque chose comme : téléphone=3423423424 , puis answear est :

-------------médecin de l'info----------------------------------patientinfo(systolique,diastolique)-----------------------

  1 "Dr dre" sdfssd 243242 drdre@gmail.com  160 170

160 170 sont l'information sur le patient

Si ce n'est avec les critères, avec HQL?

OriginalL'auteur oikonomopo | 2012-08-24