我做了相当多的研究,最后决定问这个。
我有两个这样的课程:
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"
当示例设置了父属性但不过滤子属性时,它可以正常工作。
据我所知,我必须创建别名来加入子属性,但这违背了示例标准的目的。
对此有何评论?