Criteria 和 DetachedCriteria 的區別

示例代碼如下:

        // 從本地線程中獲得session對象
        Session session = this.getSession();
        // 創建條件查詢對象,注意:該對象必須通過session才能創建
        Criteria criteria = session.createCriteria(User.class);
        // 使用條件查詢對象,封裝查詢條件
        criteria.add(Restrictions.eq("id", 100));
        
        // 實際開發中,查詢條件往往封裝在action中,而在action中我們拿不到session對象,那麼我們就創建不了條件查詢對象了。怎麼辦呢?
        // 所以爲了解決這個問題,我們使用離線條件查詢對象,該對象的創建不需要session對象
        DetachedCriteria detachedCriteria = DetachedCriteria.forClass(User.class);
        // 使用離線條件查詢對象,封裝查詢條件
        detachedCriteria.add(Restrictions.eq("id", 100));
        // 以後開發中常用DetachedCriteria
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章