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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章