Hibernate 5.x中的HQL和Criteria API有什么区别?

时间:2019-03-26 15:42:55

标签: java spring spring-boot hibernate-5.x

现在请参见Hibernate 5支持与HQL一样的标准更新和删除。

1 个答案:

答案 0 :(得分:0)

  1. HQL将对数据执行选择和非选择操作,但是条件仅用于选择数据,我们不能使用条件执行非选择操作
  2. HQL适合执行静态查询,而Criteria适合执行动态查询
  3. HQL不支持分页概念,但是我们可以使用Criteria实现分页
  4. 与HQL相比,执行条件通常要花费更多时间
  5. 有了Criteria,我们可以安全地使用SQL Injection,因为它可以动态生成查询,但是在HQL中,由于您的查询是固定的或参数化的,因此SQL Injection并不安全。