【发布时间】:2012-02-17 18:41:10
【问题描述】:
我做了相当多的研究,最后决定问这个。
我有两个这样的课程:
Employee
-emp_id
-name
-dep_id
Department
-dep_id
-name
我用这段代码举例查询:
List<Employee> find = null;
Example example = Example.create(criteria)
.excludeZeroes()
.ignoreCase();
find = hibernateTemplate.getSessionFactory().getCurrentSession().createCriteria(Employee.class)
.add(example)
.list() ;
return find;
条件对象是 Employee 的一个实例,我想检索具有给定部门名称的所有员工。
问题是,当我执行代码时,即使标准具有这样的属性集,我也会从所有部门获得员工: criteria.department.name = "IT"
当示例设置了父属性但不过滤子属性时,它可以正常工作。
据我所知,我必须创建别名才能加入子属性,但这违背了示例标准的目的。
有这方面的cmet吗?
【问题讨论】:
标签: hibernate criteria query-by-example