为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

3 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

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

查看完整回答
反对 回复 2019-05-06
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

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


查看完整回答
反对 回复 2019-05-06
?
森林海

TA贡献2011条经验 获得超2个赞

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


查看完整回答
反对 回复 2019-05-06
  • 3 回答
  • 0 关注
  • 725 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信