006——Hibernate 执行数据库中信息的重置和删除被关联的数据信息
//将选课人所选的课程添加到数据库中
public void selectCourse(Integer id,Integer[] cid){
Session session = HbiUtil.getSession();
session.beginTransaction();
User user = (User) session.get(User.class, id);
//mappedBy 设置在course实体类中 由User建立宿主关系
user.getCourses().clear();//将数据库原有的数据清空 然后重新植入新的数据。从而达到一种数据回显的效果
for (int i = 0; i < cid.length; i++) {
Integer courseId = cid[i];
Course course = (Course) session.get(Course.class, courseId);
user.getCourses().add(course);
}
System.out.println(user.getCourses().size()+"----------------------");
session.update(user);
session.getTransaction().commit();
HbiUtil.closeSession(session);
}
-----------------------------------------------------------------------------------------
//从数据库中删除选课人所选的课程信息
public void delCourse(Integer id,Integer[] courseId){
Session session = HbiUtil.getSession();
session.beginTransaction();
User user = (User) session.get(User.class, id);
for (int i = 0; i < courseId.length; i++) {
Integer cid = courseId[i];
Course course = (Course) session.get(Course.class, cid);
user.getCourses().remove(course);
}
session.update(user);
session.getTransaction().commit();
HbiUtil.closeSession(session);
}

浙公网安备 33010602011771号