@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