我将开始使用非常大的数据库的新项目,因此将有大量的数据库操作。
我决定使用Spring JPA作为我的ORM。现在Spring JPA提供了在DAO层中使用的各种技术。我对Criteria builder和Query DSL感到困惑。两者似乎都很好地解决了我的问题,我想在同一个项目中使用它们并没有意义,因为它们提供相同的功能。
那么现在使用哪一个以及为什么?
答案 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。