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();
}