hql in depth

        这个问题其实相当简单,但是,我在之前开发当中就不知道这样的用法。今天google到这种用法,实在是爽,也为以前没有好好search而懊恼。
      
       问题:需要通过多表联合查询,并且返回单表所对应的实体。也就是说:希望返回包含实体的列表,而不是包含对象数组的列表。

       解决方法:
      
hql 代码
 
  1. select b from BsEmployeeLog as b, PlanChange as pc where b.logId = pc.logId
  2. and pc.projectId = 0  
   
     之前查参考手册的时候,并没有查到这种用法,只知道说:如果查询一个实体的话,那就是
   
hql 代码
 
  1. from BsEmployee where ...  
      这样可以返回实体。

      但是,如果你要查询属性的话,那么
hql 代码
  1. select b.id from BsEmployee as b where ...   
      这样返回的就是对象数组。

      但是,没有提供上面的方式。当时查hibernate的参考手册也没有看到。今天写DAO代码,反复遇到这样的情况,总是退回去用Criteria,实在是不爽。因此,再次google,得到了正确用法。

       其实,对于这种需求是肯定会有的,当时怎么没有好好google一把呢?
       参考链接: http://www.devarticles.com/c/a/Java/Hibernate-HQL-in-Depth/1/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值