У меня эти три таблицы.hql выбрать таблицы записей из многих в одну таблицу отношений
UserTrackRecord -> id, profile_id(fk), object_profile_id(int)
Profile and -> id
ProfilePersonalInfo-> id, profile_id(fk), firstname, lastname
profile_id и object_profile_id является для этой цели, что, когда кто-то посылает мне запрос дружбы, object_profile_id является моим профилем и идентификатором внешнего ключа профиля идентификатор отправителя.
В одном профиле есть много записей в формате usertrack. В одном профиле есть один профильpersonalinfo (Есть еще две таблицы, такие как profilepersonalinfo, которые являются базовыми и фоном с профилем как fk).
У меня есть свой собственный идентификатор профиля (objecct_profile_id). 1. Теперь я хочу получить первое имя, фамилию отправителя запроса и информацию из двух других таблиц.
SQL-запрос, который я сделал это
select utr.profile_profile_id, ppi.dob, ppi.first_name, ppi.last_name, "
+ "pbi.religion, pbi.city_birth, pbi.country_birth from "
+ "user_track_record utr "
+ "inner join profile_personnel_info ppi on ppi.profile_profile_id=utr.profile_profile_id "
+ "inner join profile_background_info pbi on pbi.profile_profile_id=utr.profile_profile_id "
+ "where utr.object_profile_id=1
, который работает отлично.
В HQL, когда я упростил мой запрос в лучшем случае, он стал
Select * from UserTrackRecord utr inner join ProfilePersonalInfo ppi
но идентификатор не работал, и он дал мне внешним или полное объединение должно сопровождаться исключением запроса выражения пути.
я отправил тот же самый вопрос раньше, но кто-то де-голосовала это :(так что я сделал несколько больше R & D, но не нашел решения.
Ваше сообщение напрямую не связано с JSF, я удалил этот тег и вместо этого добавлю Java. –
HQL работает с объектами. Вместо описания ваших таблиц покажите нам сущности и их ассоциации и сообщите нам, что вы хотите вернуть из запроса, с точки зрения этих объектов. –