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

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

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

    隨筆-124  評論-49  文章-56  trackbacks-0

    1 ,void delete ( Object entity ) : 刪除指定持久化實例
    public void removePerson( int personid)
    {
    //先加載特定的實例
    Object p = getHibernateTemplate().load( Person.class , new Integer( personid));
    //刪除特定實例
    getHibernateTemplate().delete (p);
    }
    2 ,deleteAll ( Collection entities ) : 刪除集合內全部持久化類實例

    3 ,find ( String queryString ) : 根據(jù)HQL查詢字符串來返回實例集合
    Public List getPersons()
    {
    //返回Person的全部實例
    return getHibernateTemplate().find ( " from Person " );
    }

    4 ,findByNamedQuery ( String queryName) : 根據(jù)命名查詢返回實例集合

    5 ,get ( Class entityClass , Serializable id ) : 根據(jù)主鍵加載特定持久化類的實例
    public Person getPerson()
    {  
    //返回特定主鍵對應的Person實例
    return (Person)getHibernateTemplate().get (Person.class , new Integer(person id));
    }
    6 ,save ( Object entity ) : 保存新的實例

    7 ,saveOrUpdate ( Object entity ): 根據(jù)實例狀態(tài),選擇保存或者更新

    8 ,update ( Object entity ) : 更新實例的狀態(tài),要求entity是持久狀態(tài)

    9 ,setMaxResults ( int maxResults ) : 設置分頁的大小。




    HibernateTemplate的 更靈活 的用法 :
    更靈活的訪問是通過以下兩個方法完成的:
    Object execute ( HibernateCallback action ) ;
    List execute ( HibernateCallback action );
    這兩個方法都需要一個HibernateCallback的實例,可以在任何有效的hibernate數(shù)據(jù)訪問中使用。用法靈活,解決了Spring封裝Hibernate后靈活性不足的缺陷。 HibernateCallback 是一個接,該接口只有一個方doInHibernate ( org.hibernate.Session session ), 該方法只有一個參數(shù)Session.
    public class PersonDaolmpl implements PersonDao
    {
    // 私有實例變量保存SessionFactory
    private SessionFactory sessionFactory;
    // 依賴注入必需的setter 方法
    public void setSessionFactory(SessionFactory sessionFactory)
    {
    this.sessionFactory = sessionFactory;
    }

    /**
    *通過人名查找所有匹配該名的Person 實例
    @param name 匹配的人名
    @return 匹配該任命的全部Person 集合
    */

    public List findPersonsByName(final String name)
    //創(chuàng)建HibernateTemplate實例
    HibernateTemplate hibernateTemplate = new HibernateTemplate(this.sessionFactory);
    //返回HibernateTemplate的execute 的結果
    return (List) hibernateTemplate.execute (
    //創(chuàng)建匿名內部類
    new HibernateCallback ()
    public Object doInHibernate (Session session)
    throws Hibernate Exception
    {
    //使用條件查詢的方法返回
    List result = session.createCriteria(Person.class)
    .add(Restrictions.like(
    "name", name+ " %") .list ( ) ;
    return result;
    }
     ) :
    }

    }

    注意:在方法doInHibernate內可以訪問到Session,該session是完全綁定到當前線程的Session實例,保證在對于復雜的持久層訪問時,依然可以使用Hibernate的訪問方式。
    posted on 2009-11-03 17:20 junly 閱讀(5338) 評論(3)  編輯  收藏 所屬分類: hibernate/orm

    評論:
    # re: hibernate基礎-HibernateTemplate 2012-11-14 23:33 | asdf
    dsf  回復  更多評論
      
    # re: hibernate基礎-HibernateTemplate 2012-11-14 23:34 | asdf
    dfgsdfgdsfg  回復  更多評論
      
    # re: hibernate基礎-HibernateTemplate 2012-11-23 18:42 | Super9527
    謝謝了  回復  更多評論
      
    主站蜘蛛池模板: 色哟哟国产精品免费观看| 亚洲综合一区无码精品| 国产99久久久久久免费看| 又大又硬又爽免费视频| 亚洲av永久无码一区二区三区| 日韩av无码成人无码免费| 亚洲影视自拍揄拍愉拍| 成人无遮挡裸免费视频在线观看 | 日韩一区二区三区免费体验| 亚洲私人无码综合久久网| 免费看的黄色大片| 瑟瑟网站免费网站入口| 久久久久亚洲?V成人无码| 91免费国产视频| 亚洲av不卡一区二区三区| 99国产精品免费观看视频| 亚洲av专区无码观看精品天堂 | 亚洲高清视频免费| 最新国产成人亚洲精品影院| 大学生a级毛片免费观看 | 国产成人精品免费直播| 一级特黄a大片免费| 亚洲国产综合精品中文第一区| 四虎永久在线观看免费网站网址| 亚洲欧美日韩中文高清www777| 亚洲福利视频一区二区| a级成人毛片免费图片| 亚洲电影在线播放| 国产麻豆剧传媒精品国产免费| 国产免费一区二区三区免费视频| 久久久久久亚洲精品中文字幕| 国产92成人精品视频免费| 久久无码av亚洲精品色午夜| 亚洲精品成人片在线播放| 18禁止观看免费私人影院| 免费亚洲视频在线观看| 亚洲αv久久久噜噜噜噜噜| 好爽又高潮了毛片免费下载| 黄床大片免费30分钟国产精品| 亚洲永久中文字幕在线| 亚洲精品无码99在线观看|