/**
* 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());
}