<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java蜘蛛人 歡迎大家

    歡迎大家 來到我的blog , 如果我身邊的朋友 有什么不懂可以直接來問我 我會細心的幫助你的. 如果網絡上的朋友有什么不懂的 可以加我Java蜘蛛人 QQ48187537
    posts - 54, comments - 192, trackbacks - 0, articles - 1

    dynamic-insert="true" 如果插入的值不為空 他才會把他列入插入語句中  (作用:節(jié)約資源)


    <hibernate-mapping package="mypack"> <class>元素中定義的類來自mypack包

     

    <property name="sex" access="field"/> 不會直接調用age的set,get方法. 避免get,set方法里的邏輯值.

     


    <class name="xxx.xxx" table="xxxx" select-before-update=true> 如果設置成true  如果不經常修改java 對象的屬性 就設為true   當對象沒有被修改的時候 他不會執(zhí)行update 語句  select-before-update=true 可以避免update 盲目的觸發(fā)一個觸發(fā)器

     

    saveOrUpdate 如果是臨時對象就用save  如果是游離對象才建議用saveOrUpdate 如果傳遞進來的是持久化狀態(tài)  就直接返回
    他會自動判斷是游離狀態(tài)還是臨時狀態(tài)  如果oid=null version=null等.那就是臨時狀態(tài).

     

    hibernate與觸發(fā)器 協同工作 ..  假如save 一個數據 會觸發(fā)一個觸發(fā)器 那就會導致 session緩存的內容和數據庫的內容不協調(不一樣)
     解決方法 : 在save后 調用flush()清除緩存 然后調用refresh() 重新到數據庫當中加載剛才被保存的xxxx對象
    select-before-update=true 可以避免update 盲目的觸發(fā)一個觸發(fā)器

    <set batch-size="3">  批量查詢  3句查詢語句 一起初始化..

    映射 一對多的關聯

    需要在 xxx.hbm.xml里添加

    <many-to-one
    name="customer"  //用戶表的實例
    columb="CUSTOMER_ID"
    class="mypack.Customer"
    cascade="save-update"  保存或者更新customer的臨時對象
    not-null="true"
    />

      //建立用戶表和訂單表外鍵的映射

    //例子在HibernateDemo16:

    映射一對多雙向自身關系

      //創(chuàng)建食物類.對象
      Categories foodCategory=new Categories(null,"food",new HashSet());
      //創(chuàng)建水果類.對象
      Categories fruitCategory=new Categories(null,"fruit",new HashSet());
      //創(chuàng)建蔬菜類 對象
      Categories vegetableCategory=new Categories(null,"vegetable",new HashSet());
      //創(chuàng)建蘋果 對象
      Categories appleCategory=new Categories(null,"apple",new HashSet());
      //創(chuàng)建橘子對象
      Categories orangeCategory=new Categories(null,"Orange",new HashSet());
      //創(chuàng)建西紅柿 對象
      Categories tomatoCategory=new Categories(null,"tomato",new HashSet());
      
      
      //建立食物類.和水果類的關系
         foodCategory.getCategorieses().add(fruitCategory);
         fruitCategory.setCategories(foodCategory);
        
         //建立食物跟蔬菜關系
         foodCategory.getCategorieses().add(vegetableCategory);
         vegetableCategory.setCategories(foodCategory);
        
         //建立水果和蘋果的關系
         fruitCategory.getCategorieses().add(appleCategory);
         appleCategory.setCategories(fruitCategory);
        
         //建立水果和橘子的關系
         fruitCategory.getCategorieses().add(orangeCategory);
         orangeCategory.setCategories(fruitCategory);
        
         //建立西紅柿跟水果的關系
         fruitCategory.getCategorieses().add(tomatoCategory);
         tomatoCategory.setCategories(fruitCategory);
        
        //建立蔬菜和西紅柿的關系
         tomatoCategory.setCategories(vegetableCategory);
         vegetableCategory.getCategorieses().add(tomatoCategory);
        
         fruitCategory.getCategorieses().remove(tomatoCategory);
        
           Session session=HBF.getSession();
           session.save(foodCategory);
           session.beginTransaction().commit();
           session.close();

     

     

     


    //例子在HibernateDemo14:

      //雙向修改
      Pp pp1=new Pp();
      pp1.setPname("aaaaaa");
      pp1.setCid(new Long(27));
      Catelog cla=new Catelog();
      cla.setCname("bbbbb");
      cla.setId(new Long(16));
         pp1.setCatelog(cla);

     


      
    //單項修改
    //  Catelog cla=new Catelog();
    //  cla.setCname("1111111111");
    //  cla.setId(new Long(16));
    //   dao.session.saveOrUpdate(cla);
      
         CPDAO dao=new CPDAO();
          dao.session.update(pp1);
         dao.session.beginTransaction().commit();
         dao.closeSession();

     

     

    //例子在HibernateDemo14:
    查詢:
      String sql="from Catelog c where c.id=2";
         Query q=dao.session.createQuery(sql);
        
         Catelog cla=  (Catelog)q.uniqueResult();
        
          Set<Pp> set= cla.getPps();
         
         Iterator<Pp> it = set.iterator();
         while(it.hasNext())
         {
          Pp p=it.next();
          System.out.println(p.getPname()+"   "+p.getCid());
         }

     

         
    //例子在HibernateDemo14:

     //從表查詢
         String sql="from Pp p where p.catelog.id=16";
         Query q=dao.session.createQuery(sql);
        
         List<Pp> list = q.list();
        
        for(Iterator<Pp> it = list.iterator();it.hasNext();)
        {
         Pp p=it.next();
         System.out.println(p.getCatelog().getCname()+"     "+p.getPname());
        }
        
         dao.session.close();
     }

     


    HQL 查詢

     public List QueryName(String name)
     {
      return session.createQuery("from Ord as c where Ord_number=:sname")
     .setString("sname",name).list(); 
     }

      然后  List  list=dao.QueryName("b");


    QBC 查詢
     //創(chuàng)建一個Criteria 對象  然后把Ord 加載進去
        Criteria criteria=dao.session.createCriteria(Ord.class);
        Criterion criterion1=Expression.like("ord_number","T%");
       
       
        criteria.add(criterion1);
       
        List result=criteria.list();
          

    QBE  查詢

     

          Ord entity=new Ord();
          entity.setOrdNumber("Linda_Ord001");
        Criteria criteria=dao.session.createCriteria(Ord.class);
       
        Criterion criterion=Example.create(entity);
       
        criteria.add(criterion);
       
        List result=criteria.list();

     

    HQL 排序
     Query q=dao.session.createQuery("from Ord as o order by ord_number");


    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 成人无码区免费A∨直播| 99在线视频免费观看视频| 久久青青草原亚洲av无码app| 在免费jizzjizz在线播| 日韩亚洲人成在线综合| 久久亚洲精品无码| 爽爽日本在线视频免费| 国产成人自产拍免费视频| 亚洲国产av一区二区三区丶| 亚洲AV成人潮喷综合网| 4399影视免费观看高清直播| 偷自拍亚洲视频在线观看| 亚洲狠狠久久综合一区77777| 日本一道一区二区免费看| 青青操免费在线观看| 亚洲日韩乱码中文字幕| 久久夜色精品国产亚洲| 国产a不卡片精品免费观看| 小草在线看片免费人成视久网| 自拍偷自拍亚洲精品偷一| 亚洲网站在线观看| 久久精品夜色噜噜亚洲A∨| 日韩免费a级毛片无码a∨| 国产人成网在线播放VA免费| 亚洲自偷自偷在线成人网站传媒 | 亚洲爆乳无码专区| 日产乱码一卡二卡三免费| 91大神在线免费观看| 国产精品无码免费专区午夜| 中国亚洲呦女专区| 亚洲综合久久久久久中文字幕| 久久亚洲国产成人精品无码区| 四虎影视免费在线| 在线观看无码AV网站永久免费| 免费看男人j放进女人j免费看| 免费人成大片在线观看播放| tom影院亚洲国产一区二区| 香蕉视频在线观看亚洲| 亚洲午夜未满十八勿入网站2| 亚洲AV成人精品日韩一区18p| 插B内射18免费视频|