Hibernate示例条件查询:按照子属性进行过滤
我已经做了相当数量的研究,并最终决定提出这个问题。
我有两个这样的类:
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”
当该示例具有父属性设置但它不会过滤子属性时,它正常工作。
从我所看到的,我必须创建别名来加入子属性,但这种做法违反了示例条件的目的。
对此有何评论?
使用createCriteria(Department.class)
创建的条件不会返回员工。 它会返回部门。
并且使用示例查询来检索与您作为参数传递的示例相同的实体。 但是,正如文件所述:
版本属性,标识符和关联被忽略
链接地址: http://www.djcxy.com/p/37105.html上一篇: Hibernate Example Criteria query: filtering by child properties