使用Criterion API的主要优点是在运行时动态构建查询。但无论我在不同网站上看到Criterion API的示例,它都涉及单个表。像
session.createCeiteria("Employee");
然后我们继续在employee表的不同列上添加限制。
我们是否有任何方式可以使用Criterion API来处理多个表格,就像我们希望其部门是财务部门的员工一样?
因此它涉及多个表,即部门和员工。我知道我们可以在这里使用HQL,但我如何在这里使用标准?
答案 0 :(得分:1)
是的,请查看createAlias
课程的Criteria
方法。
但是,您必须记住,在使用Criteria API时,您不应该考虑使用表格,而应该考虑实体。
也就是说,您构建的查询是针对对象模型构建的,而不是针对数据库模型构建的。因此,您只能使用createAlias
方法,当您构建查询的类(在您的示例中为Employee)与另一个类具有关联时。