hibnernate 多对多 删除; 不是级联删除
来源:互联网 发布:网络电玩 编辑:程序博客网 时间:2024/04/30 05:51
// 新增方法;----begin-----------------
public String updateRoleResource() {
try {
Role role = null;
if (roleid != null && !"".equals(roleid.trim())) {
role = (Role) this.roleService.findById(Integer.parseInt(roleid
.trim()));
role.setRoleName(newrolename);
this.roleService.update(role);
} else {
role = new Role();
if (newrolename != null && !"".equals(newrolename)) {
role.setRoleName(newrolename);
}
this.roleService.save(role);
System.out.println("id-======" + role.getId());
}
Set<Resource> rs = role.getResources();
// role.setResources(null);
// this.roleService.update(role);
for (Resource r : rs) {// 这样会把其他的关联的role 也 设置为null;
r.getRoles().remove(role);
// r.setRoles(null);
this.resourceService.update(r);
}
Set<Resource> newResources = new HashSet<Resource>();
String[] arr = resourceids.split(",");
for (String str : arr) {
if (str != null && !"".equals(str)) {
DetachedCriteria dc = DetachedCriteria
.forClass(Resource.class);
dc.add(Restrictions.eq("ref_field", str));
List<Resource> rlist = (List<Resource>) this.resourceService
.findByCriteria(0, 1, dc);
// newResources.add(rlist.get(0));
Resource temp = rlist.get(0);
if (temp.getRoles() != null) {
temp.getRoles().add(role);
} else {
Set<Role> set = new HashSet<Role>();
set.add(role);
temp.setRoles(set);
}
this.resourceService.update(temp);// 澶栭敭鐢�resource 缁存姢;
}
}
try {
HttpServletResponse response = ServletActionContext
.getResponse();
// ServletActionContext
// .getResponse()
response.setContentType("text/html");// 为html文本显示
response.setCharacterEncoding("utf-8"); // 设置响应字符集
response.getWriter()
.print("<script>window.parent.uploadSuccess('修改成功');</script>");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// role.setResources(newResources);
// this.roleService.update(role);
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
HttpServletResponse response = ServletActionContext
.getResponse();
response.setContentType("text/html");// 为html文本显示
response.setCharacterEncoding("utf-8"); // 设置响应字符集
response.getWriter()
.print("<script>window.parent.uploadSuccess('修改失败,请重试或者联系管理员');</script>");
// ServletActionContext
// .getResponse()
// .getWriter()
// .print("<script>window.parent.uploadSuccess('修改失败,请重试或者联系管理员');</script>");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
HttpServletResponse response = ServletActionContext
.getResponse();
response.setContentType("text/html");// 为html文本显示
response.setCharacterEncoding("utf-8"); // 设置响应字符集
response.getWriter()
.print("<script>window.parent.uploadSuccess('修改失败,请重试或者联系管理员');</script>");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return null;
}
public String updateRoleResource() {
try {
Role role = null;
if (roleid != null && !"".equals(roleid.trim())) {
role = (Role) this.roleService.findById(Integer.parseInt(roleid
.trim()));
role.setRoleName(newrolename);
this.roleService.update(role);
} else {
role = new Role();
if (newrolename != null && !"".equals(newrolename)) {
role.setRoleName(newrolename);
}
this.roleService.save(role);
System.out.println("id-======" + role.getId());
}
Set<Resource> rs = role.getResources();
// role.setResources(null);
// this.roleService.update(role);
for (Resource r : rs) {// 这样会把其他的关联的role 也 设置为null;
r.getRoles().remove(role);
// r.setRoles(null);
this.resourceService.update(r);
}
Set<Resource> newResources = new HashSet<Resource>();
String[] arr = resourceids.split(",");
for (String str : arr) {
if (str != null && !"".equals(str)) {
DetachedCriteria dc = DetachedCriteria
.forClass(Resource.class);
dc.add(Restrictions.eq("ref_field", str));
List<Resource> rlist = (List<Resource>) this.resourceService
.findByCriteria(0, 1, dc);
// newResources.add(rlist.get(0));
Resource temp = rlist.get(0);
if (temp.getRoles() != null) {
temp.getRoles().add(role);
} else {
Set<Role> set = new HashSet<Role>();
set.add(role);
temp.setRoles(set);
}
this.resourceService.update(temp);// 澶栭敭鐢�resource 缁存姢;
}
}
try {
HttpServletResponse response = ServletActionContext
.getResponse();
// ServletActionContext
// .getResponse()
response.setContentType("text/html");// 为html文本显示
response.setCharacterEncoding("utf-8"); // 设置响应字符集
response.getWriter()
.print("<script>window.parent.uploadSuccess('修改成功');</script>");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// role.setResources(newResources);
// this.roleService.update(role);
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
HttpServletResponse response = ServletActionContext
.getResponse();
response.setContentType("text/html");// 为html文本显示
response.setCharacterEncoding("utf-8"); // 设置响应字符集
response.getWriter()
.print("<script>window.parent.uploadSuccess('修改失败,请重试或者联系管理员');</script>");
// ServletActionContext
// .getResponse()
// .getWriter()
// .print("<script>window.parent.uploadSuccess('修改失败,请重试或者联系管理员');</script>");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
HttpServletResponse response = ServletActionContext
.getResponse();
response.setContentType("text/html");// 为html文本显示
response.setCharacterEncoding("utf-8"); // 设置响应字符集
response.getWriter()
.print("<script>window.parent.uploadSuccess('修改失败,请重试或者联系管理员');</script>");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return null;
}
- hibnernate 多对多 删除; 不是级联删除
- hibernate 多对一级联删除;
- hibernate 某个对象自身多对多 级联删除
- 多对一单向级联更新或删除
- hibernate多对一映射配置级联删除
- Hibernate单向多对一级联删除引发的问题
- mysql 多表级联删除
- mysql多表级联删除
- hibernate 双向一多对关联 删除一端时级联删除多端
- 【JPA 级联保存/级联删除】@OneToMany (双向) 一对多
- 【JPA 级联保存/级联删除】@OneToMany (双向) 一对多
- [NHibernate]一对多关系(级联删除,级联添加)
- 【转】[NHibernate]一对多关系(级联删除,级联添加)
- Oracle多表级联删除方法
- Oracle多表级联删除方法
- hibernate一对多双向级联删除
- 一对多双向关联,级联删除
- hibernate 级联删除 双向一对多
- Android_Activity_Tasks和Back Stack详解
- 干急网啥都木有
- Python和C|C++的混编(一):Python调用C、C++---Boost库
- 贝叶斯分类器-基础知识
- oracle decode函数使用方法
- hibnernate 多对多 删除; 不是级联删除
- JAVA对字符型文件的读写操作(FileReader、FileWriter)
- kernel学习之ftrace环境搭设及使用(包括buildroot的使用)
- linux内核-进程调度
- java基础--日期
- C语言字符串格式化显示
- UICollectionView
- ajax 传递参数;省的找了 附带trim 方法; 注意url路径;
- mysql存储过程用游标解决返回的结果级并拼装字符