hql语句实现两个表的连接查询

icfmoh 2011-05-07 08:14:45
这里有两个表:student和class,student表中有id,name,classid;class表中有id,name;student表中的classid和class表中的id是一致的,现在就要通过连接这两个表查询出student中的id,name和class中的name;两张表在建立的时候没加外键啥的,现在该如何实现hql语句,急求,谢谢、、、


还有select student.id, student.name, class.name
from student
join class on class.id = student.classid
这是hql语句吗?试了好几种都不对,无语了
...全文
2320 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
geningaixin 2011-05-09
  • 打赏
  • 举报
回复
hibernate 有立即加载和延迟加载,如果是立即加载,那么那个属性所关联的对象的所有属性都会在查询的时候被加载的,可以深入研究研究hibernate!
wwm291814 2011-05-08
  • 打赏
  • 举报
回复
三楼正解
licip 2011-05-08
  • 打赏
  • 举报
回复
注意,你要from后面是跟类的名字,还有你如果用的属性应该是同一种类型。最好起别名。
xuanywn 2011-05-08
  • 打赏
  • 举报
回复
学习,学习,我也正有这问题,弄了好长时间了!
wnf2009 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lujun0527 的回复:]
1.用hql语句
String hql="select student.id, student.name ,class.name from student映射实体类名 as student , class映射实体类名 as class where class.id = student.classid ";
2.用本地SQL语句
String sql="select student.id, s……
[/Quote]支持,不过LZ注意这个是返回的数组
yingzhuo2011 2011-05-07
  • 打赏
  • 举报
回复
如果学生与老师是多对一关系的话,

from Student as s left join fetch s.schoolClass

注意:schoolClass是你的 Student类中的一个属性,一个SchoolClass的引用。
留下买路财 2011-05-07
  • 打赏
  • 举报
回复
1.用hql语句
String hql="select student.id, student.name ,class.name from student映射实体类名 as student , class映射实体类名 as class where class.id = student.classid ";
2.用本地SQL语句
String sql="select student.id, student.name, class.name from student join class on class.id = student.classid ";
SQLQuery query=HibernateSessionFactory.getSession().createSQLQuery(sql);
也可以进行查询
icfmoh 2011-05-07
  • 打赏
  • 举报
回复
大家帮帮忙啊、、

67,513

社区成员

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

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