hyljava

          Hibernate中用逆轉工程實現多對多關系映射


          history中的c_id與s_id分別是外鍵。
          在hibernate中用myeclicpse逆轉工程實現的多對多


          將 CourseDAO 中的save方法 改成:
           public void save(Course transientInstance) {
            log.debug("saving Course instance");
            Session session=null;
            Transaction tx=null;
            try {
             session=getSession();
             tx=session.beginTransaction();
             
             
             session.save(transientInstance);
             tx.commit();
             log.debug("save successful");
            } catch (RuntimeException re) {
             log.error("save failed", re);
             if(tx!=null){
              tx.rollback();
             }
             throw re;
            }
           }
          將 Student DAO 中的save方法 改成:

          public void save(Student transientInstance) {
            log.debug("saving Student instance");
            Session session=null;
            Transaction tx=null;
            try {
             session=getSession();
             tx=session.beginTransaction();
             
             session.save(transientInstance);
             log.debug("save successful");
            } catch (RuntimeException re) {
             log.error("save failed", re);
             if(tx!=null){
              tx.rollback();
             }
             throw re;
            }
           }
          將 HistoryDAO 中的save方法 改成:

          public void save(History transientInstance) {
            log.debug("saving History instance");
            Session session=null;
            Transaction tx=null;
            try {
             session=getSession();
             tx=session.beginTransaction();
             session.save(transientInstance);
             tx.commit();
             log.debug("save successful");
            } catch (RuntimeException re) {
             log.error("save failed", re);
             if(tx!=null){
              tx.rollback();
             }
             throw re;
            }
           }
          測試類如下:

          public class Test {

          public static void main(String[] args) {
              Course course=new Course();
              CourseDAO cdao=new CourseDAO();
            
            Student stu=new Student();
            StudentDAO sdao=new StudentDAO();
              
            History his=new History();
            HistoryId hid=new HistoryId();
            HistoryDAO hdao=new HistoryDAO();
            
            
              course.setCName("c++");
              course.setCTer("張三");
            
            stu.setSName("張同學");
            stu.setSAge(22);
            
            hid.setCourse(course);
            hid.setStudent(stu);
             
             his.setId(hid);
                cdao.save(course);
             sdao.save(stu);
             hdao.save(his);
            }

          }


          posted on 2012-05-13 18:04 何云隆 閱讀(251) 評論(0)  編輯  收藏 所屬分類: Hibernate

          主站蜘蛛池模板: 老河口市| 平乡县| 米易县| 镇宁| 汝南县| 西安市| 繁峙县| 郯城县| 洛宁县| 湘潭市| 汝南县| 贵定县| 离岛区| 平陆县| 宽甸| 城市| 东乌珠穆沁旗| 醴陵市| 湖北省| 沭阳县| 溧水县| 龙陵县| 理塘县| 长宁区| 泸水县| 郯城县| 富平县| 抚顺市| 囊谦县| 西乌珠穆沁旗| 巍山| 浮梁县| 大新县| 民勤县| 雷州市| 湛江市| 陆良县| 三台县| 白朗县| 林周县| 临夏市|