package com.delianghe.entity;import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
/**
 * Operator entity. @author MyEclipse Persistence Tools
 */public class Operator implements java.io.Serializable { // Fields private Integer operatorId;
private Dept dept;
private String userName;
private String userPassword;
private String operatorName;
private String sex;
private String positions;
private String salariat;
private Timestamp incumbencyDateTime;
private String subBankCode;
private String telephoneNumber;
private String mobileNumber;
private String faxNumber;
private String email;
private String userAddress;
private String post;
private String passportName;

private List<Role> roles = new ArrayList<Role>(0); 
// Constructors /** default constructor */
public Operator() {
}
public Operator(Integer operatorId) {
super();
this.operatorId=operatorId;
}
     
public List<Role> getRoles() {
return roles;
} public void setRoles(List<Role> roles) {
this.roles = roles;
}
// Property accessors

}<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.delianghe.entity.Operator" table="Operator" schema="dbo" catalog="permissionManagerDB">
        <id name="operatorId" type="java.lang.Integer">
            <column name="operatorId" />
            <generator class="identity" />
        </id>
        <many-to-one name="dept" class="com.delianghe.entity.Dept" fetch="select">
            <column name="deptId" not-null="true" />
        </many-to-one>
        <property name="userName" type="java.lang.String">
            <column name="userName" length="100" />
        </property>
        <property name="userPassword" type="java.lang.String">
            <column name="userPassword" length="100" />
        </property>
        <property name="operatorName" type="java.lang.String">
            <column name="operatorName" length="100" not-null="true" />
        </property>
                     <bag name="roles" table="Operator_Role" lazy="false">
         <key column="operatorId"></key>
         <many-to-many column="roleId"
         class="com.delianghe.entity.Role"  />
        </bag>
       
    </class>
</hibernate-mapping>
以下是业务类
List<Role> rolesList=operat.getRoles();//获得所有的角色 --------就是这一句报错,不知道怎么办public String login()throws Exception
{
HttpSession session=ServletActionContext.getRequest().getSession();
session.removeAttribute(checkNum);//点击登录后要清除验证码
operator.setUserPassword(PasswordUtil.encrypt(operator.getUserPassword()));
List checkLoginResult=commondao.validate(operator);

if(checkLoginResult.size()>0)
{
Operator operat=(Operator) checkLoginResult.get(0);
           //查询出某个用户的所有模块权限
String HQL="select modulePermissionName from ModulePermission where modulePermissionId in(select modulePermissionId from RolePermission where roleId in (select roleId from OperatorRole where  operatorId='"+operat.getOperatorId()+"'))";
        //List modulePersList=commondao.find(HQL);
       // System.out.println("该用户的模块权限的个数为:"+modulePersList.size());
                   //查询出某个用户的所有模块权限的功能权限
        String HQL2="select functionPermissionName,functionPermissionUrl from FunctionsPermission where functionPermissionId in(select functionPermissionId from ModulePermissionFunctionsPermi where modulePermissionId in(select modulePermissionId from ModulePermission where modulePermissionId in(select modulePermissionId from RolePermission where roleId in (select roleId from OperatorRole where  operatorId='"+operat.getOperatorId()+"'))))";
        //List functionPersList=commondao.find(HQL2);
        //System.out.println("该用户的功能权限的个数为:"+functionPersList.size()); Set<String> permissionSet=new HashSet<String>();//模块权限和功能权限的Set集合


List<Role> rolesList=operat.getRoles();//获得所有的角色


for(Role role:rolesList)
{
List<ModulePermission> modulePermissionsList=role.getModulePermissions();//获得所有的模块权限

for(ModulePermission modulePer:modulePermissionsList)
{
List<FunctionsPermission> funcPersList=modulePer.getFunctionsPermissions();//获得所有的功能权限 for(FunctionsPermission functionPer:funcPersList)
{
permissionSet.add(modulePer.getModulePermissionName());
permissionSet.add(functionPer.getFunctionPermissionName());
permissionSet.add(functionPer.getFunctionPermissionUrl());
System.out.println("permissionSet(模块权限和功能权限的Set集合):"+permissionSet);
}
}
}