Spring JPA:查询构建器与Criteria Builder,哪一个使用?

DHR*_*SAL 6 orm criteria-api querydsl jpa-2.0 spring-data-jpa

我将开始使用非常大的数据库的新项目,因此将有大量的数据库操作.

我决定使用Spring JPA作为我的ORM.现在Spring JPA提供了在DAO层中使用的各种技术.我对Criteria builder和Query DSL感到困惑.两者似乎都很好地解决了我的问题,我想在同一个项目中使用它们并没有意义,因为它们提供相同的功能.

那么现在使用哪一个?为什么?

Tim*_*per 5

JPA 2 Criteria API和Querydsl在功能上是等价的,但Querydsl的设计更流畅,看起来更像JPQL/SQL.因此它可以用作JPQL和JPA 2 Criteria的替代品.

这里还有一个关于该主题的博客文章,其中显示了与JPA 2 Criteria API Querydsl相比,紧凑的Querydsl查询与JPA 2 Criteria API 的替代方案

这个答案是有偏见的,因为我落后于Querydsl.