que han conseguido exactamente el mismo problema, y fue capaz de resolver de esta manera:
return criteria.createCriteria(A.class)
.createCriteria("b", "join_between_a_b")
.createCriteria("c", "join_between_b_c")
.createCriteria("d", "join_between_c_d")
.add(Restrictions.eq("some_field_of_D", someValue));
Nota: "b"
, "c"
y "d"
en el código de seguridad se refieren a los nombres de atributos en A
, B
y C
clases, correspondientemente (clase A
tiene el atributo b
y así sucesivamente).
Para esta solución, ni siquiera necesita tener los parámetros lazy
y fetch
que se configurarán en su A.hbm.xml
.
http://stackoverflow.com/questions/8726396/hibernate-criteria-join-with-3-tables Por encima de enlace mencionado puede ayudar. –