Well, not sure which version of Hibernate you mean, but something similar is possible in JPA 2.0:
String query = "SELECT c FROM Child c, Parent p WHERE c.parentId = p.id"; List<Child> children = em.createQuery(query, Child.class).getResultList();
This way, you explicitly execute the JOIN based on your user condition, rather than letting the JPA manage it, although this is completely legal.
source share