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);
 }

posted @ 2015-04-04 23:10  xu_shuyi  阅读(671)  评论(0)    收藏  举报