HQL 语句内连接

在 sql 语句中,内连接有两种写法

select * from student s,teacher t where s.tid=t.tid

select * from studen s inner join teacher t on s.tid=t.tid

sql 语句是针对于数据库表与表中字段来进行编写的,

hql 语句是针对实体类和实体类中的属性名来进行编写的。

所以在使用 hql 语句进行内连接的时候,需要先将实体类创建好,并且确定实体类与实体类之间的关系。

student 实体类中有一下几个字段,其中,teacher 字段的类型是 teacher 实体类

Integer stuid

String stuname

String stuage

Teacher teacher

teacher 实体类中有一下几个字段,其中, studens 字段是 学生的集合

Integer tid

String tname

List<Student> studentsList

hql 语句,查询老师下有那写学生,使用内连接的语句就应该使用一下的写法

Query query = session.createQuery("from Teacher t inner join t.studensList")

List list = query.list()

这样返回的结果是 list 集合中,是一个个的数组,而不是对象,如果想要使用对象进行存储的话,需要使用的是迫切内连接,需要加入关键字 fetch

from Teacher t inner join fetch t.studensList

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值