Hibernate:标准 API 与 QueryDsl

Hibernate: Criteria API vs. QueryDsl

我对 Criteria 有一些经验 API 但我以前从未使用过 QueryDsl。我想问的是用QueryDsl代替CriteriaAPI有什么advantages/disadvantages?尤其想知道哪一个更适合大数据库(我是说复杂查询)。

QueryDSL 是高于标准的抽象级别;此外,它与 SQL 更相似,因此对于以前没有接触过 Criteria 的人来说可能更容易学习。

Querydsl 是

  • 更紧凑
  • 类型安全性更高(至少与 Hibernate Criteria 相比)
  • 更接近 JPQL 语法
  • 也可用于其他后端

因为我是 Querydsl 的贡献者,所以这个答案有偏见。