我有这三个表。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是我的个人资料的ID和外键是发件人的配置文件ID。
一个配置文件有许多usertrackrecords。 一个配置文件有一个profilepersonalinfo(有两个更多的表,就像profilepersonalinfo这是basicinfo和backgroundinfo具有profileid为fk)。
我有我自己的个人资料ID(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
但ID没有工作,它给我的外或完全加入必须遵循的路径表达式查询例外。
我之前发布了同样的问题,但总得有人去投它:(因此,我做了一些多个R & d,但没有找到一个解决方案。
您的帖子没有直接链接到JSF,我删除了该标签并添加了Java代替。 –
HQL与实体一起工作。根据这些实体,而不是描述您的表格,向我们展示实体及其关联,并告诉我们您想从查询返回的内容。 –