В зависимости от модели вашего объекта Модель вы должны подумать о цели вашего запроса. Глядя на ваш SQL-оператор, это семантически проблема, если нужно сформулировать HQL-запрос.
Тем не менее, возможно - и обычно - создавать запросы в тета-стиле даже в виде именованных запросов в приложениях на основе Hibernate.
HQL-запрос в большинстве случаев выглядит так же, как и нативный, за исключением того, что он использует отношения объектной модели. Эти отношения имеют большое влияние на способ, запрос может быть определен. Вместо того, чтобы начинать с School
сущности. Они могут начинаться с User
наборов данных.
SELECT ....
FROM User user1, User user2
JOIN User.school as school
...
WHERE school = user2.school
Действительно легче следовать to one
отношениям, поэтому я обычно переделываю свои запросы таким образом, чтобы они имели тенденцию выполнять их таким образом.