Spring JPA: построитель запросов против построителя критериев, какой из них использовать?

Я собираюсь начать новый проект, который будет играть с очень большой базой данных, таким образом будет иметь много работы с базой данных.

Я решил использовать Spring JPA в качестве моего ORM. Теперь Spring JPA предоставляет различные методы для использования в слое DAO. Я путаюсь между построителем критериев и запросом DSL. Оба, кажется, чтобы решить мою проблему, и я думаю, нет смысла использовать обе в одном проекте, потому что они обеспечивают одинаковую функциональность.

Итак, какой использовать и почему ?

1 ответов


API критериев JPA 2 и Querydsl эквивалентны по функциональности, но Querydsl был разработан, чтобы быть более свободно и выглядеть больше как JPQL/SQL. Таким образом, его можно использовать в качестве замены для критериев JPQL и JPA 2.

вот также blogpost на тему, которая показывает, насколько компактные запросы Querydsl по сравнению с API критериев JPA 2 Querydsl как альтернатива API критериев JPA 2

этот ответ предвзят, так как я позади Querydsl.