Las 10 principales preguntas y respuestas de la entrevista de Hibernate (actualizado para 2019)

Tabla de contenido:

Anonim

Introducción a las preguntas y respuestas de la entrevista de Hibernate

Hibernate es una herramienta de mapeo de objetos que ayuda a simplificar la conexión de la aplicación con la base de datos. Proporciona el mapeo del objeto java con tablas de la base de datos. Mapea la clase java con la tabla en la base de datos. El nombre de la tabla y la clase depende de la elección del desarrollador del desarrollador. Tiene una función para dar nombre de acuerdo con los requisitos del negocio. Suaviza la conectividad de la base de datos de la aplicación. Hibernate también proporciona un lenguaje de consulta independiente de la base de datos que se conoce como HQL - lenguaje de consulta hibernate. Es una versión orientada a objetos del lenguaje SQL que ayuda a la aplicación a migrar fácilmente con otras bases de datos en caso de cambio de la base de datos en el futuro.

Hibernate también proporciona muchas otras características, como la creación automática de tablas, esta es una de las características más potentes de hibernate. Para admitir esto solo tenemos que hacer una configuración pequeña en el archivo XML después de eso, todo se encarga solo de la hibernación. La verificación sucia de Hibernate significa que siempre verifica el estado del objeto Java si encuentra algún cambio en el estado del objeto, actualiza la base de datos automáticamente. Tiene un segundo nivel de captura atómicamente habilitado que ayuda a mejorar el rendimiento de la aplicación. Estas son las poderosas características de Hibernate.

Ahora, si está buscando un trabajo relacionado con Hibernate, debe prepararse para las preguntas de la entrevista de Hibernate 2019. Es cierto que cada entrevista es diferente según los diferentes perfiles de trabajo. Aquí, hemos preparado las importantes preguntas y respuestas de la entrevista de Hibernate 2019 que lo ayudarán a tener éxito en su entrevista.

A continuación se presentan las 10 preguntas y respuestas importantes de la entrevista de Hibernate que se hacen con frecuencia en una entrevista. Estas preguntas se dividen en dos partes son las siguientes:

Parte 1 - Preguntas de la entrevista de Hibernate (Básico)

Esta primera parte cubre preguntas y respuestas básicas de la entrevista de Hibernate.

1) ¿Diferenciar entre get y load en Hibernate?

Responder:
El método Get siempre llega a la base de datos si no encuentra un objeto en caché. Da un objeto completamente inicializado que puede involucrar varias llamadas a bases de datos, esto puede degradar el rendimiento de la aplicación, mientras que el método de carga puede devolver el objeto proxy si un objeto no está en caché, golpea la base de datos para todos los métodos del objeto excepto el método getId () . Si un objeto no se encuentra en ningún lugar, el método get devuelve el valor nulo, mientras que el método load arrojará la excepción ObjectNotFoundException. Entonces podemos usar estos métodos según nuestros requisitos.

2) ¿Cuál es la diferencia entre objeto persistente, transitorio y desprendido?

Responder:
En Hibernate, hay 3 estados del objeto a continuación.

Estos son transitorios, persistentes, separados. Cualquier objeto estará en estado de persistencia si está asociado con la sesión de Hibernate. Cualquier cambio en el objeto actual se reflejará en la base de datos en función de nuestra estrategia de vaciado. El vaciado automático ocurre cada vez que cualquier propiedad de cambio de objeto o vaciado explícito al llamar al método flush () de la clase Session En el caso de una instancia que anteriormente se asociaba con algún contexto persistente pero ahora ya no está asociado, es un estado separado.

Pasemos a las siguientes preguntas de la entrevista de Hibernate.

3) ¿Es posible hacer una clase de entidad de Hibernate final?

Responder:
Sí, es posible finalizar una clase de entidad de Hibernate, pero no es una buena práctica. Debido a que Hibernate usa un patrón proxy para mejorar el rendimiento de la aplicación y, en el caso de la asociación diferida, al hacer que una entidad sea la clase final, Hibernate ya no podrá usar un proxy, una razón detrás de esto es que Java no permite la extensión de la clase final; Limita las opciones de mejora del rendimiento. Sin embargo, podemos resolver este problema si nuestra clase persistente es una implementación de una interfaz, que declara todos los métodos públicos definidos en la clase Entity.

4) ¿Explicar el caché de consultas?

Responder:
Estas son las preguntas comunes de la entrevista de Hibernate formuladas en una entrevista. Query Cache se utiliza para almacenar el resultado de la consulta SQL para futuras llamadas para mejorar el rendimiento. También se puede usar junto con un caché de segundo nivel de hibernación para mejorar el rendimiento de la aplicación. Hibernate tiene muchas soluciones de almacenamiento en caché de código abierto para implementar Query cache.

5) ¿Por qué es obligatorio no proporcionar ningún constructor de argumentos en las entidades?

Responder:
La clase de entidad debe contener un constructor sin argumentos, porque el marco de Hibernate crea un objeto de estas clases utilizando Reflection API, al llamar al nuevo método Instance () de la clase Class. Este método generará una excepción de instanciación si no encuentra ningún constructor de argumentos dentro de la clase Entity.

Parte 2 - Preguntas de la entrevista de Hibernate (Avanzado)

Veamos ahora las preguntas avanzadas de la entrevista de Hibernate.

6) ¿Explicar el método lock () de la sesión en Hibernate?

Responder:
El método lock () de la clase de sesión se utiliza para volver a conectar el objeto sin actualizar o sincronizar con la base de datos. Por lo tanto, debemos tener mucho cuidado al usar este método. Siempre podemos usar el método update () para sincronizar con la base de datos durante la reconexión.

7) ¿Explicar el caché de segundo nivel en hibernación?

Responder:
La caché de segundo nivel se mantiene en el nivel de Session Factory y se utiliza para mejorar el rendimiento de la aplicación al ahorrar pocos viajes de ida y vuelta a la base de datos. También está disponible para toda la aplicación en lugar de cualquier sesión en particular

Pasemos a las siguientes preguntas de la entrevista de Hibernate.

8) ¿Cuáles son los beneficios de hibernar sobre JDBC?

Responder:
Hibernate se puede usar con cualquier tipo de base de datos porque es independiente de la base de datos, mientras que en JDBC, Developer tiene que escribir consultas específicas de la base de datos.
En hibernación, no necesitamos ser expertos en escribir consultas de tipo complejo, porque HQL facilita el proceso de escritura de consultas, mientras que en el caso de JDBC, un desarrollador tiene que escribir y ajustar consultas.
En hibernate, no es necesario crear grupos de conexiones porque hibernate realiza todo el manejo de conexiones automáticamente. En JDBC, los desarrolladores deben crear grupos de conexiones

9) ¿De cuántas maneras se pueden identificar los objetos y cuáles son las diferentes formas de obtención en Hibernate?

Responder:
Estas son las preguntas más frecuentes de la entrevista de Hibernate en una entrevista. Para la identificación de objetos, a continuación se enumeran tres formas.
Uso de la identidad de la base de datos: los objetos de bases de datos relacionales se pueden identificar si representan la misma fila.
Uso de la igualdad de objetos: uso del método equals ().
Usando Identidad de Objeto: Usando == operador.

Las siguientes son las estrategias de obtención disponibles en hibernate:

Recogida por lotes
Únete a la obtención
Subseleccionar recuperación
Seleccionar extracción

10) ¿Diga el nombre de pocas interfaces del marco de Hibernate?

Responder:
Session Factory: es un caché inmutable y seguro para subprocesos de asignaciones compiladas para una sola base de datos. Tenemos que inicializarlo una vez, luego podemos almacenarlo en caché y reutilizarlo. su instancia se usa para obtener los objetos de sesión para varias operaciones de base de datos.

Session es un objeto de un solo subproceso y de corta duración que representa una interfaz entre la aplicación y el almacén persistente. Envuelve JDBC java.sql.Connection y funciona como una fábrica para Transaction. Debe abrir una sesión solo cuando sea necesario y cerrarla tan pronto como termine de usarla. Un objeto de sesión es la interfaz entre el código de la aplicación java y el marco de hibernación y proporciona varios métodos para operaciones CRUD en Java.

Transacción): es un objeto de un solo subproceso y de corta duración utilizado por la aplicación Java para especificar unidades atómicas de trabajo. Resume la aplicación de la transacción JTA subyacente o JDBC. Una sesión puede contener múltiples transacciones en algunos casos.

Artículos recomendados

Esta ha sido una guía para la lista de preguntas y respuestas de la entrevista de Hibernate para que el candidato pueda tomar medidas enérgicas contra estas preguntas de la entrevista de Hibernate fácilmente. Aquí en esta publicación, hemos estudiado las principales preguntas de la entrevista de Hibernate que a menudo se hacen en las entrevistas. También puede consultar los siguientes artículos para obtener más información:

  1. Preguntas de la entrevista WCF
  2. Preguntas de la entrevista de Docker
  3. Preguntas de la entrevista del marco de primavera
  4. Preguntas de la entrevista PLSQL