Hibernate consultas con nombre y su ventaja de rendimiento?

Como el documento de hibernación dice que el propósito de la consulta nombrada es borrar el HQL de diferentes lugares en el proyecto a un solo lugar en algún xml (en caso de enfoque declarativo). requerido, lo que significa que el servidor se inicia en la mayoría de los casos a medida que el objeto de consulta se almacena en caché. Pero en caso de anotación, necesito definir las consultas nombradas a nivel de entidad. Así que aquí la compilación de nuevo requiere. Mi pregunta aquí es también llamada ayuda de consulta en el rendimiento. Aquí está mi entendimiento: -

1) Cuando uso consultas con nombre, solo el objeto de consulta se almacena en la caché de segundo nivel. Cuando digo que solo consulta el objeto, significa que solo la sintaxis de la consulta se almacena en la memoria caché, no los resultados de la consulta. ¿Correcto? Si es correcto, entonces es probable que solo sea útil en el caso de que HQL se convierta en eso es donde podemos evitar la traducción de HQL a la consulta nativa, cada vez que se realiza una consulta y tenemos un buen rendimiento de tiempo.

Pero si estamos usando SQL nativo, la consulta con nombre no proporciona esa ventaja, ya que en ese caso no se realiza ninguna traducción.

Así que la principal ventaja de la consulta con nombre es hacer un repositorio central de sqls. Sí, en el caso de HQL, también nos puede ahorrar algo de tiempo de traducción a sql nativo, pero ten en cuenta que el objeto de consulta estará durante el tiempo de vida de jvm y consumirá algo de memoria. Así que algunos negocian aquí.

Respuestas a la pregunta(1)

Su respuesta a la pregunta