hql 关联查询

以前一直以为hql很简单, 就一对象查询, 今天遇到一问题,折腾了许久, 才发现自己hql这块居然好多不知道.

 

以用户和角色为例, 一个用户可以对应多个角色,分别为user , role , 我的hql如下 :

 

from User u left join u.roles
 

数据库查询这一块没有问题,由于粗心,也没有去看控制台打印出来的sql是什么样子,我以为这一查询返回的是List<User>

 

的列表,然后在Jsp里面,理所当然的去遍历查出来的list ,取list里面单个user的属性在页面展示,整个过程很简单,jsp异

 

常显示说NumberFormatException"loginName" .......... ,一直不得解,loginName是user里面的一个属性,后面调试

 

的时候,查看hql查询出来的列表,发现居然不是List<User> ,而是个List,里面的每个元素是个Object的数组,该数组的

 

元素1为user对象,元素2为role对象。把开始的hql改为:

 

select u  from User u left join u.roles

 

 就ok了,查出来的就是List<User> ,在这样很简单的问题上花了不少时间,看来以后学东西不能太马虎了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值