首页 > 代码库 > Hibernate_13_QBC查询

Hibernate_13_QBC查询

Employee类、Department类、SessionFactoryTools类、Employee.hbm.xml文件、Department.hbm.xml文件、Hibernate.cfg.xml文件 都与12中的相同。

持久化层中的代码:

// 使用QBC方式查询:Query By Criteria
	@Test
	public void testQBC() throws Exception {
		Session session = SessionFactoryTools.getSession();
		session.beginTransaction();
		// --------------------------------------------

		// 创建Criteria对象
		Criteria criteria = session.createCriteria(Employee.class);
		// 增加过滤条件
		criteria.add(Restrictions.gt("id", 1));
		criteria.add(Restrictions.le("id", 10));
		// 增加排序条件
		criteria.addOrder(Order.asc("id"));
		criteria.addOrder(Order.asc("name"));
		// 设置分页
		criteria.setFirstResult(0);
		criteria.setMaxResults(2);
		// criteria.uniqueResult();//设置唯一
		// 执行查询
		List<?> list = criteria.list();
		// 显示结果
		for (Object obj : list) {
			if (obj.getClass().isArray()) {
				System.out.println(Arrays.toString((Object[]) obj));
			} else {
				System.out.println(obj);
			}
		}

		// --------------------------------------------
		session.getTransaction().commit();
		session.close();
	}