@Override
@SuppressWarnings("all")
public List<UserInfo> findUserInfoByAuthorityRanges(final String[] authorityRanges) {
return hibernateTemp.execute(new HibernateCallback<List<UserInfo>>() {
@Override
public List<UserInfo> doInHibernate(Session session)
throws HibernateException, SQLException {
//从UserRole中间表获得role表中AuthorityRange值为authorityRanges数组中的值
//最后返回userInfo表的数据
String hql = "" +
"SELECT userRole.userInfo " +
"FROM UserRole userRole JOIN userRole.role role " +
"WHERE role.authorityRange " +
"IN (:authorityRanges)";
Query query= session.createQuery(hql);
query.setParameterList("authorityRanges", Arrays.asList(authorityRanges));
return query.list();
}
});
}
便于显示,断行hql
本文介绍了一种利用Hibernate实现特定权限范围的用户信息查询方法,通过中间表和条件过滤,从UserRole表中获取role表中权限范围符合指定数组的用户信息,最终返回userInfo表的数据。
1820

被折叠的 条评论
为什么被折叠?



