Hibernate——离线查询

1、Criteria查询方式:

(1)一般方式:

缺点:每一次查询dao层都需要书写对应的方法,离线查询可以解决这个问题。 

(2)离线方式:

 2、离线查询

用DetachedCriteria来构造查询条件,然后将这个DetachedCriteria作为方法调用参数传递给业务层对象。

        DetachedCriteria detachedCriteria=DetachedCriteria.forClass(Student.class);
        detachedCriteria.add(Restrictions.eq("sex",""));

业务层对象获得DetachedCriteria之后,可以在session范围内直接构造Criteria,进行查询,以下代码可以被多个对象对象所共用。

 public static void testSel() {
   
        Session session = HibernateUtils.openSession();
        Transaction transaction = session.beginTransaction();
        Criteria criteria=detachedCriteria.getExecutableCriteria(session);
        List list=criteria.list();
        System.out.println(list);
        transaction.commit();
        session.close();
    }

原文地址:https://www.cnblogs.com/zhai1997/p/11979836.html