隨筆-21  評(píng)論-29  文章-0  trackbacks-0
          Hibernate開(kāi)發(fā)流程
             1由Domain Object -> mappin -> db (官方推薦)
             2由D開(kāi)始,用工具生成mapping 和 Domin Objec 。(使用較多)
             3由映射文件開(kāi)始
          Domain Object的限制  
            1.默認(rèn)的構(gòu)造方法(必須得)
            2.有無(wú)意義的標(biāo)示符(主鍵)(可選)
            3.非final的,對(duì)懶加載有影響(可選)

          優(yōu)化我的第一個(gè)實(shí)例
               由于Base類(lèi)中的初始化只能初始化一次 ,現(xiàn)新建一個(gè)HibernateUtil類(lèi)(final類(lèi)),專(zhuān)門(mén)用于hibernate的初始化
          修改Base類(lèi)代碼為如下
          package cn.itcast.hibernate;
          import java.util.Date;

          import org.hibernate.HibernateException;
          import org.hibernate.Session;
          import cn.itcast.hibernate.domain.User;
          import org.hibernate.Transaction;
          public class Base {

              
          public static void main(String[] args) {
                  
                  User user 
          = new User();
                  user.setBirthday(
          new Date());
                  user.setName(
          "name");
                  addUser(user);        
                  System.out.println(
          "end");
              }

                  
          static void addUser(User user){
                      Session s 
          = null ;
                      Transaction tx 
          = null ;
                      
          try{
                          s 
          = HibernateUtil.getSession();
                          tx 
          = s.beginTransaction();
                          s.save(user);
                          tx.commit();
                      }
          catch(HibernateException e){
                          
          if(tx !=null)
                              tx.rollback();
                          
          throw e ;
                      }
          finally {
                          
          if(s !=null)
                              s.close();
                      }

                  }

                  
          }


          新建的HibernateUtil類(lèi)代碼如下
          package cn.itcast.hibernate;

          import org.hibernate.Session;
          import org.hibernate.SessionFactory;
          import org.hibernate.cfg.Configuration;

          public final class HibernateUtil {
              
          private static SessionFactory sessionFactory ;
              
          private HibernateUtil(){}
              
              
          static{
               Configuration cfg 
          = new Configuration() ;
                  cfg.configure();
                  sessionFactory 
          = cfg.buildSessionFactory();
               }


              
          public static SessionFactory getSessionFactory() {
                  
          return sessionFactory;
              }

              
              
          public static Session getSession(){
                  
          return sessionFactory.openSession();
              }

               
          }

          運(yùn)行 顯示成功!
          posted on 2009-05-04 10:12 特立獨(dú)行 閱讀(286) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Hibernate框架
          主站蜘蛛池模板: 乐平市| 黎城县| 同德县| 石首市| 平江县| 清徐县| 阳山县| 汉寿县| 扬中市| 措美县| 赣州市| 焦作市| 白水县| 陇南市| 韩城市| 黄浦区| 苏尼特左旗| 福鼎市| 临汾市| 南郑县| 陆良县| 田东县| 武穴市| 扶绥县| 登封市| 怀宁县| 教育| 三台县| 平阳县| 合阳县| 龙游县| 青川县| 临潭县| 常熟市| 灵川县| 峨眉山市| 综艺| 兰西县| 即墨市| 溆浦县| 邹平县|