📄 roledaohibernate.java
字号:
/*
* Created on 2006-2-3
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package org.appfuse.dao.hibernate;
import java.util.List;
import org.springframework.orm.ObjectRetrievalFailureException;
import org.appfuse.dao.RoleDAO;
import org.appfuse.model.Role;
import org.appfuse.util.exception.AppDAOException;
import org.appfuse.model.Staff;
import org.appfuse.model.StaffRole;
import org.appfuse.model.RoleAuth;
/**
* @author user
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class RoleDAOHibernate
extends BaseDAOHibernate
implements RoleDAO {
public Role getRole(int roleid) throws AppDAOException {
Role role = (Role) getHibernateTemplate().get(Role.class,
new Integer(roleid));
if (role == null) {
throw new ObjectRetrievalFailureException(Role.class,
new Integer(roleid));
}
return role;
}
public List getRoles(Role role) throws AppDAOException {
return getHibernateTemplate().find("from Role");
}
public List getStaffs(int roleid) throws AppDAOException {
//员工已赋予的角色
List list = getHibernateTemplate().find(
"select b from StaffRole a, Staff b where a.staffno = b.staffno and a.roleid = ?",
new Integer(roleid));
return list;
}
public void saveRole(final Role role) throws AppDAOException {
getHibernateTemplate().saveOrUpdate(role);
getHibernateTemplate().flush();
}
//删除角色,还要删除员工角色关系,角色权限关系
public void removeRole(int roleid) throws AppDAOException {
Role role = getRole(roleid);
removeStaffRole(role);
removeRoleAuth(role);
getHibernateTemplate().delete(role);
}
// private List getStaffRoles(Role role) {
// return getHibernateTemplate().find(
// "from StaffRole a where a.roleid = " + role.getRoleid());
// }
// private void removeRoleAuth(Role role) {
// List list = getStaffRoles(role);
// for(int i = 0; i < list.size(); i++){
// StaffRole staffRole = (StaffRole)list.get(i);
// getHibernateTemplate().delete(staffRole);
// }
// }
private void removeStaffRole(Role role) {
List list = getHibernateTemplate().find(
"from StaffRole a where a.roleid = " + role.getRoleid());
for(int i = 0; i < list.size(); i++){
StaffRole staffRole = (StaffRole)list.get(i);
getHibernateTemplate().delete(staffRole);
}
}
private void removeRoleAuth(Role role) {
List list = getHibernateTemplate().find(
"from RoleAuth a where a.roleid = " + role.getRoleid());
for(int i = 0; i < list.size(); i++){
RoleAuth roleAuth = (RoleAuth)list.get(i);
getHibernateTemplate().delete(roleAuth);
}
}
public List getRoleAuth(Role role){
// return getHibernateTemplate().find(
// "select b from Role a, RoleAuth b, Auth c where " +
// " a.roleid = " + role.getRoleid() +
// " and a.roleid = b.roleid and b.authid = c.authid ");
return getHibernateTemplate().find(
"select a from RoleAuth a where " +
" a.roleid = " + role.getRoleid());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -