Hibernate Kriterien : Auswahl aus zwei Tabellen mit Fremdschlüssel-Beziehung?

Ich habe in meiner mysql-Datenbank 2 Tabellen :

1.teacher(id(pk),name,phone,email)
2.student(id(pk),teacher'sid(FK),name,phone,email)

Die student-Tabelle hat einen Fremdschlüssel , Lehrer'sid ,dass refrences zum Lehrer.id .

Wählen Sie die Lehrer, daß Ihre id(Lehrer /innen.id) ist dasselbe wie (student.Lehrer'sid), wo student.name = "Steven".

Habe ich aus zwei Klassen mit dem gleichen class Namen und Eigenschaften der Tabelle,und ich habe so konfiguriert das mapping.

@Entity
class teacher {
@Id
int id;
String name;
String phone;
String email;
}

@Entity
class student {
@Id
int id;
int teachersid;
String name;
String phone;
String email;
}

Ich bin in der Lage, wählen Sie die Schüler, dass sein name "steven" von:

Criteria q = session.createCriteria(student.class).add(
                Restrictions.eq("name", "stevens"));

Wie kann retreive die Lehrer von "Steven"?
So etwas wie

(select * from teacher(where teacher.id = student.teachersid(where student.name="stevens")))

,aber mit dem Hibernate Criteria Api.

Vielen Dank im Voraus!

InformationsquelleAutor oikonomopo | 2012-08-20

Schreibe einen Kommentar