hibernate 一对多查询的时候HQL语句为啥不要关联两个类

hadoop333 2015-01-15 10:25:35
有一个类Classes 就是班级类 里面有一个属性students
为啥内连接只要写成 from Classes c inner join c.students
为啥这个不要像数据库那样两个表关联 为啥hql语句内关联不需要两个类来关联啊 就是关联Student类
...全文
282 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsongiu86 2015-01-19
  • 打赏
  • 举报
回复
引用 4 楼 hadoop333 的回复:
[quote=引用 1 楼 lsongiu86 的回复:] from Classes c join c.students,这句hql已经关联了,相当于inner join xx on xx.id=xx.id了
大牛 如果两个表多对多 有个中间表 HQL语句 应该怎么查询呢[/quote] 差不多一样的写法,假如teacher和student多对多的话,hql如下:from Teacher t join t.students s where t.xx=xx and s.xx=xx
  • 打赏
  • 举报
回复
那是因为数据库中Classes表和students表已经建立了外键关联关系,hibernate的反向工程映射pojo时候,才会把students类对象映射为Classes的属性, 正因为此,hql写成 from Classes c inner join c.students,意思就是Classes与students表进行关联。
lsongiu86 2015-01-16
  • 打赏
  • 举报
回复
from Classes c join c.students,这句hql已经关联了,相当于inner join xx on xx.id=xx.id了
开不了口1990 2015-01-16
  • 打赏
  • 举报
回复
引用 4 楼 hadoop333 的回复:
[quote=引用 1 楼 lsongiu86 的回复:] from Classes c join c.students,这句hql已经关联了,相当于inner join xx on xx.id=xx.id了
大牛 如果两个表多对多 有个中间表 HQL语句 应该怎么查询呢[/quote] 如果一定要这样的话,用逗号分割呗,如: select a,c from A a,B b,C c where a.x=b.x and b.y=c.y
hadoop333 2015-01-16
  • 打赏
  • 举报
回复
引用 1 楼 lsongiu86 的回复:
from Classes c join c.students,这句hql已经关联了,相当于inner join xx on xx.id=xx.id了
大牛 如果两个表多对多 有个中间表 HQL语句 应该怎么查询呢
hadoop333 2015-01-16
  • 打赏
  • 举报
回复
引用 2 楼 baohuan_love 的回复:
那是因为数据库中Classes表和students表已经建立了外键关联关系,hibernate的反向工程映射pojo时候,才会把students类对象映射为Classes的属性, 正因为此,hql写成 from Classes c inner join c.students,意思就是Classes与students表进行关联。
大牛大牛 如果两个表多对多 有个中间表 HQL语句 应该怎么查询呢

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧