hql left join

在使用交叉表的时候,对动态字段进行排序,用 sql 是 left join 值表 以排序的值类型为过滤条件,然后对值列排序,  hql 也是left join ,不用on,hibernate会自动加上,你如果需要添加其他的条件,可以用with,另外 hql 可以对 one-to-many 的属性(如Set) 直接当做条件来过滤 例如 
学生表 对应 Student 类 
Student{ 
   Integer id; 
   Set scores; // 所有该学生下的成绩集合 
} 


成绩表 对应 Score 类 
Score{ 
    Integer id; 
    Integer value; // 成绩的值 
    Student student; // 该成绩属于哪个学生 
} 


当需要查询学生,又需要对学生的某科成绩进行排序的话可以这样 
select stu from Student as stu 
     left join stu.scores as sc 
     with sc.id=1 
     where .... 
     order by sc.value
文章转载出处: http://kakarot-java.iteye.com/blog/479775

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值