¿Es posible desarrollar una aplicación de muy alto rendimiento en Hibernate a pesar de su complejidad?

Sí, pero.

La parte de Hibernate simplifica el código que habla con la base de datos. Aún debe tener en cuenta que es una base de datos:

  • Hay consultas rápidas y lentas
  • Algunas consultas necesitan optimización manual
  • Su aplicación es responsable de minimizar el número de consultas por solicitud.
  • Es posible que deba fragmentar su base de datos en varios servidores. Hibernate no hace esto por ti. Algo como Apache Spark SQL proporciona algo de ayuda, pero eso depende de sus datos y diseño de la aplicación.
  • Por lo general, un servidor adicional ofrece un mejor rendimiento que semanas de arranque sobre ciclos de afeitado

Por lo tanto, es más que Hibernate es en realidad una herramienta de nivel bastante bajo. Puede interferir generando algunas consultas no óptimas, pero realmente, eso no es exclusivo de Hibernate. Ni una razón para no usarlo.

Necesita conducir un diseño de alto rendimiento usted mismo. Usa las herramientas. Monitor. Optimice según los datos de rendimiento.

Por supuesto que es.

Es por eso que escribí el libro Java Persistence de alto rendimiento.

Eche un vistazo a estos 14 Consejos de persistencia de Java de alto rendimiento para una breve introducción y esta presentación de Devoxx France sobre Hibernate de alto rendimiento.