首先我们有一个一对多的映射关系的类供我们测试使用
dept(部门类)
private int deptId;
private String deptName;
private String deptAdd;
private Set<Employee> emps=new HashSet<Employee>();
employ(员工类)
private int empId;
private String empName;
private String empAddress;
private Dept dept;
接下来编写我们的测试类:
public void testQuery() throws Exception {
Session session=new Configuration().configure("hibernate.cfg.xml").buildSessionFactory().openSession();
//查询所有的数据
//这里不能使用* ,可以使用别名
//Query query=session.createQuery("select d from Dept d");
//带条件的查询
//Query query=session.createQuery("select d from Dept d where d.deptId>2");
//between and
//Query query=session.createQuery("select d from Dept d where d.deptId between 4 and 6");
//查询数据并封装成对象
//Query query=session.createQuery("select new Employee(e.empName,e.empAddress) from Employee e ");
//模糊查询
//Query query=session.createQuery("select new Employee(e.empName) from Employee e where empName like '%gm%'");
//Query query=session.createQuery("select new Employee(e.empName) from Employee e where empName like ?");
//query.setString(0,"%jgm%");
//给占位符整个名字
Query query=session.createQuery("select new Employ(e.empName) from Employ e where empName=:empName");
query.setParameter("empName","狗娃1");
List list=query.list();
System.out.println(list);
session.close();
}
//查询所有的数据并封装成对象:
select new Employee(e.empName,e.empAddesss) form Emplyee e;
//