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

时间:2013-04-28 10:55:42

标签: orm jpa-2.0 criteria-api spring-data-jpa querydsl

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

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

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

1 个答案:

答案 0 :(得分:5)

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

这里还有一个关于该主题的博客文章,其中显示了与JPA 2 Criteria API Querydsl as an alternative to the JPA 2 Criteria API

相比,Querydsl查询的紧凑程度。

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