我在oracle特定的
中写了这个查询 Student_Master
包含这些字段stud_id,stud_name
。
Student_detail
有course_id,course_name,cou_stud_id
等等。
我需要在student_detail
空的cou_stud_id
表中选择两个表中的记录,或者用空表示选择此条件的所有匹配记录。
SELECT stud_id,stud_name,course_name ,course_id FROM STUDENT_MASTER,STUDENT_DETAIL WHERE stud_id(+)=cou_stud_id.
如何写入HQL查询? 这是我的原创场景 我有两个hbm文件ADVMAgencyMaster.hbm.xml,ADVRoheader.hbm.xml对应的pojo类是ADVMAgencyMaster.java,ADVroheader.java。
匹配两个表中的记录条件是oracle.Pls中的MAMAID(+)= TROHAMAID告诉HQL中的writer如何
答案 0 :(得分:0)
这可能对你有帮助,它会找到所有有或没有细节的学生。
from Student_Master SM Left Join Student_detail SD on SM.stud_id = SD.cou_stud_id
Where SM.stud_id = (student_id to filter)
如果你在Hibernate Using(@OneToOne or @OnetoMany Relationship
)中正确地映射了这两个类,你可以轻松获得有关学生对象的详细信息。
答案 1 :(得分:0)
试试这个: 添加到您的实体Student_Master对象studentDetail,因此查询变为:
from Student_Master SM
Left Join fetch SM.studentDetail.cou_stud_id
Where SM.stud_id = (student_id to filter)