-1

我在 oracle 中写了这个查询

Student_Master有这些字段stud_id,stud_nameStudent_detailcourse_id,course_name,cou_stud_id等等。

我需要从两个表中选择记录,以防空student_detailcou_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 中的 MAMAID(+)=TROHAMAID 的记录。请告诉 HQL 中的编写者如何

4

2 回答 2

0

试试这个:向您的实体 Student_Master 添加一个对象 studentDetail,因此查询变为:

from Student_Master SM 
Left Join fetch SM.studentDetail.cou_stud_id
Where SM.stud_id = (student_id to filter)
于 2013-09-03T10:42:24.420 回答
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) 中正确地映射了你的两个类,你可以很容易地获得关于学生对象的细节。

于 2013-09-02T04:35:12.993 回答