2 fvxiaoyi fvxiaoyi 于 2013.12.15 20:38 提问

hibernate单向多对多HQL语句的问题

Student 和Teacher是单向多对多关系,Student这边配置了many-to-many 和 Set, 运行后,生成了学生,老师表,还有一张中间表。假如我要找 学生ID为1 的老师有哪些。HQL语句要怎么写?求指导。谢谢!

3个回答

erliangban
erliangban   2013.12.20 21:55
已采纳

HQL form Student s where s.id =1
就可以获取 Student 对象 hibernateTemplate.queryForObject(hql);
然后通过student get Teacher 对象

a_liujian
a_liujian   2013.12.16 15:52

Set:哪就是在配置文件的学生bean配置了学生和老师的多对多关系
假设配置如下:


<set name="teachers" table="student_teacher">  
     <key column="Student_Id"></key>  
     <many-to-many column="teacher_Id" class="·····.Teacher">  
     </many-to-many>  
</set>  

HQL:
select * from Teacher t,Student s where t.id in elements(s.teachers) and s.id=1

guan_xiu
guan_xiu   2014.01.16 14:44

select t from Teacher as t,Student as s where t.stuid=s.stuid and s.id=1

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!