Hibernate4详解(七)

2014-11-24 10:41:08 · 作者: · 浏览: 2
;
session.close();
}

/** 查询结果是唯一值 */
@Test
public void test_uniqueResult() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(Emp.class);
criteria.add(Restrictions.eq("empno", 7369));
Emp emp = (Emp) criteria.uniqueResult();
System.out.println(emp);
session.close();
}

/** 投影查询 */
@Test
public void test_projection1() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(Emp.class);
criteria.setProjection(Projections.property("empno"));
List list = criteria.list();
for (Integer empno : list) {
System.out.println(empno);
}
session.close();
}

/** 投影查询 */
@Test
public void test_projection2() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(Emp.class);
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.property("empno"));
projectionList.add(Projections.property("ename"));
projectionList.add(Projections.property("hiredate"));
projectionList.add(Projections.property("sal"));
criteria.setProjection(projectionList);
List list = criteria.list();
for (Object[] arr : list) {
System.out.println(arr[0] + "\t" + arr[1] + "\t" + arr[2] + "\t" + arr[3]);
}
session.close();
}

/** 去掉重复值 */
@Test
public void test_distinct() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(Emp.class);
criteria.setProjection(Projections.distinct(Projections.property("job")));
List list = criteria.list();
for (String job : list) {
System.out.println(job);
}
session.close();
}

/** 条件查询 */
@Test
public void test_where() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(Emp.class);

// criteria.add(Restrictions.and(Restrictions.eq("empno", 7369), Restrictions.eq("ename", "SMITH")));
// criteria.add(Restrictions.or(Restrictions.eq("empno", 7369), Restrictions.eq("ename", "ALLEN")));
// criteria.add(Restrictions.not(Restrictions.eq("ename", "SMITH")));

// criteria.add(Restrictions.between("sal", 3000.0, 5000.0));
// criteria.add(Restrictions.not(Restrictions.between("sal", 3000.0, 5000.0)));

// criteria.add(Restrictions.in("empno", new Object[] { 7369, 7900, 7654 }));
// criteria.add(Restrictions.not(Restrictions.in("empno", new Object[] { 7369, 7900, 7654 }))