JOOQ vs Hibernate

Когда я беседую с stackoverflowers в чате и читаю другие учебники о базе данных с Java, тогда они помогают мне использовать JOOQ вместо HIBERNATE.

Я полностью осведомлен об ORM с Hibernate, и я предпочитаю использовать Hibernate и теперь знаю почти о JOOQ, читая учебные руководства и реализацию на небольших проектах.

Но я смущен тем, что выбрать, и что является перформативным для моих динамических веб-приложений, которые могут быть большими, средними или меньшими, либо Hibernate, либо JOOQ?

BTW googled много, но путают все больше и больше... !!! Просто как: это, это и это.

Какой из них лучше всего подходит для разных условий и ситуаций для разработчиков.?

Ответ 1

В то время как jOOQ и Hibernate конкурируют за одну и ту же целевую аудиторию, они не решают одну и ту же проблему вообще. Вы уже связали эту статью в своем вопросе. Суть его проста:

  • Вы собираетесь решать проблемы сохранения графа объектов? Используйте ORM (например, Hibernate)
  • Собираетесь ли вы внедрять SQL в Java? Использовать SQL (например, jOOQ)

Конечно, поскольку оба API охватывают доступ к реляционным базам данных, они в определенной степени перекрываются в функциональности. Например, Hibernate также поддерживает простой запрос, в то время как jOOQ также поддерживает простое сопоставление.

Хотя нам следует избегать обсуждения в субъективных дискуссиях о том, является ли постоянство графа объектов или SQL лучшим при взаимодействии с вашей базой данных, я думаю, что приведенное выше является довольно объективным ответом на то, какой API лучше подходит, как только вы приняли субъективное решение.

И: вы можете использовать оба, например ORM/Hibernate для CRUD, SQL/jOOQ для отчетов.

(Отказ от ответственности: я работаю в компании за jOOQ, поэтому этот ответ предвзято)