JpaSpecificationExecutor против QueryDslPredicateExecutor

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

использование queryDSL создаст много дополнительных классов, плохо это или хорошо для использования памяти и производительности?

2
0
1 049
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Дело вкуса.

Если вы используете JpaSecificationExecutor, вы используете стандартные критерии JPA и API метамодели. Там Metamodel API создаст метамодель на основе вашего сопоставления, которую вы должны использовать для обеспечения безопасности типов во время компиляции.

Где QueryDSL - это дополнительная структура, которая не ограничивается JPA.

Вы можете использовать его с JPA, SQL, коллекциями, MongoDB, Lucene и, возможно, с другими.

спасибо за ответ, но что я действительно хочу знать, так это когда использовать каждый из них? лучшая практика!

Issam EL-GUERCH 07.08.2018 16:03

Как я уже сказал, это дело вкуса. Я предпочитаю QueryDSL, потому что мне не нравится API критериев. Но это только я.

Simon Martinelli 07.08.2018 16:03

@SimonMartinelli Можете ли вы сказать что-нибудь о различиях в производительности, с акцентом на соответствующие реализации за кулисами?

PeMa 14.08.2019 17:27

Разницы в производительности нет. Обе структуры генерируют SQL. Производительность на стороне БД можно улучшить с помощью индексов.

Simon Martinelli 14.08.2019 19:02

Другие вопросы по теме