hibernate中fetch使用之间的区别

本文探讨了HQL查询结果的区别,通过实例展示了在不使用fetch与使用fetch时查询结果的不同,并阐述了如何通过增强for循环区分这些区别。重点在于通过HQL查询实现角色与权限的关联查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


     /**
      * hql查询结果的区别
        不添加fetch  Arraylist中包含的是对象,对象中包含的是user
        添加了fetch 后,那么arraylist 中是一个个user
        通过增强for 循环就可以看出之间的区别
      */
     //通过user 来查找角色,通过角色来查找权限
     List<User> userList = session.createQuery("from User u left outer join fetch u.roles r left outer join fetch r.privileges p").list();
     //然后在取出重复的数据
     Set<User> userSet = new HashSet<User>(userList);
     for(User user :userSet) {
      System.out.println(user.getName());
     } 
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值