2013-04-28 58 views
5

我打算开始一个新的项目,它可以与非常大的数据库一起玩,因此会有很多数据库操作。Spring JPA:查询生成器与标准生成器,哪一个使用?

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

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

回答

5

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

这里也是关于这一主题的博文表示Querydsl查询如何紧凑的相比,JPA 2标准API Querydsl as an alternative to the JPA 2 Criteria API

这个答案是偏颇的,因为我的背后Querydsl。