Las 50 preguntas principales de la entrevista de Hibernate (2025)
Aquí están las preguntas y respuestas de la entrevista de Hibernate para principiantes y candidatos experimentados para obtener el trabajo de sus sueños.
1. ¿Qué es Hibernate?
Hibernate es un marco popular de Java que permite un mapeo relacional de objetos eficiente utilizando archivos de configuración en formato XML. Después de que los objetos Java se asignen a las tablas de la base de datos, la base de datos se usa y maneja usando objetos Java sin escribir consultas de base de datos complejas.
Descarga gratuita de PDF: Preguntas y respuestas de la entrevista de Hibernate
2. ¿Qué es ORM?
ORM (Mapeo relacional de objetos) es el concepto fundamental del marco de Hibernate que mapea tablas de bases de datos con objetos Java y luego proporciona varios API's para realizar diferentes tipos de operaciones en las tablas de datos.
3. ¿Cómo se asignan las propiedades de una clase a las columnas de una tabla de base de datos en Hibernate?
Las asignaciones entre las propiedades de la clase y las columnas de la tabla se especifican en XML archivo como en el siguiente ejemplo:
4. ¿Cuál es el uso de la interfaz de configuración en hibernación?
La interfaz de configuración de hibernate framework se utiliza para configurar hibernate. también se usa para bootstrap hibernar. Los documentos de mapeo de hibernación se ubican usando esta interfaz.
5. ¿Cómo podemos usar nuevas interfaces personalizadas para mejorar la funcionalidad de las interfaces integradas de hibernación?
Podemos usar interfaces de extensión para agregar cualquier funcionalidad requerida que no sea compatible con las interfaces integradas.

6. ¿Todos los archivos de mapeo de hibernate deben tener la extensión .hbm.xml para funcionar correctamente?
No, tener la extensión .hbm.xml es una convención y no un requisito para los nombres de archivos de mapeo de hibernación. Podemos tener cualquier extensión para estos archivos de mapeo.
7. ¿Cómo creamos una fábrica de sesiones en hibernación?

Para crear una fábrica de sesiones en hibernate, primero se crea un objeto de configuración que hace referencia a la ruta del archivo de configuración y luego, para esa configuración, se crea una fábrica de sesiones como se muestra en el siguiente ejemplo:
Configuration config = new Configuration(); config.addResource("myinstance/configuration.hbm.xml"); config.setProperties( System.getProperties() ); SessionFactory sessions = config.buildSessionFactory();
8. ¿Qué son los POJO y cuál es su significado?
Los POJO (Plain Old Java Objects) son beans Java con métodos getter y setter adecuados para todas y cada una de las propiedades.
El uso de POJO en lugar de clases simples de Java da como resultado un código eficiente y bien construido.
9. ¿Qué es HQL?
HQL es el lenguaje de consulta utilizado en Hibernate, que es una extensión de SQL. HQL es un lenguaje de consulta muy eficiente, simple y flexible para realizar varios tipos de operaciones en bases de datos relacionales sin escribir consultas de bases de datos complejas.
10. ¿Cómo podemos invocar procedimientos almacenados en hibernación?
En hibernación podemos ejecutar procedimientos almacenados usando el código de la siguiente manera:
11. ¿Qué es la API de criterios?
Criteria es una API simple pero poderosa de hibernación que se utiliza para recuperar entidades a través de la composición de objetos de criterios.
12. ¿Cuáles son los beneficios de usar la plantilla de Hibernate?
Los siguientes son algunos beneficios clave de usar la plantilla de Hibernate:
a. El cierre de la sesión está automatizado.
b. Se simplifica la interacción con la sesión de hibernación.
C. El manejo de excepciones está automatizado.
13. ¿Cómo podemos ver el SQL generado por hibernación en la consola?
Necesitamos agregar lo siguiente en el archivo de configuración de hibernación para habilitar la visualización de SQL en la consola con fines de depuración:
14. ¿Cuáles son los dos tipos de colecciones en hibernación?
Los siguientes son los dos tipos de colecciones en hibernate:
- Colección ordenada
- Recogida de pedidos
15. ¿Cuál es la diferencia entre los métodos session.save() y session.saveOrUpdate() en hibernación?
método Sessionsave() guarda un registro solo si es único con respecto a su clave principal y no se podrá insertar si la clave principal ya existe en la tabla.
método saveOrUpdate() inserta un nuevo registro si la clave principal es única y actualizará un registro existente si la clave principal ya existe en la tabla.
16. Cuáles son los beneficios de hibernar sobre JDBC?
- Hibernate se puede usar sin problemas con cualquier tipo de base de datos ya que su base de datos es independiente, mientras que en el caso de JDBC, el desarrollador tiene que escribir consultas específicas de la base de datos.
- Al usar hibernate, el desarrollador no necesita ser un experto en escribir consultas complejas, ya que HQL simplifica el proceso de escritura de consultas, mientras que en el caso de JDBC, su trabajo de desarrollador es escribir y ajustar consultas.
- En el caso de hibernate, no es necesario crear grupos de conexiones, ya que hibernate maneja todo el manejo de conexiones automáticamente, mientras que en el caso de JDBC, es necesario crear grupos de conexiones.
17. ¿Cómo podemos obtener estadísticas de hibernación?
Podemos obtener estadísticas de hibernación usando el método getStatistics() de la clase SessionFactory como se muestra a continuación:
SessionFactory.getStatistics()
18. ¿Qué es el estado de instancia transitoria en Hibernate?
Si una instancia no está asociada con ningún contexto persistente y, además, nunca se ha asociado con ningún contexto persistente, se dice que está en estado transitorio.
19. ¿Cómo podemos reducir los tiempos de acción de escritura de la base de datos en Hibernate?
Hibernate proporciona una función de verificación sucia que se puede usar para reducir los tiempos de escritura de la base de datos. La función de verificación sucia de hibernate actualiza solo aquellos campos que requieren un cambio mientras mantiene otros sin cambios.
20. ¿Cuál es el uso de las interfaces de devolución de llamada en hibernación?
Las interfaces de devolución de llamada de hibernación son útiles para recibir notificaciones de eventos de objetos. Por ejemplo, cuando se carga o elimina un objeto, se genera un evento y se envía una notificación mediante interfaces de devolución de llamada.
21. ¿Cuándo una instancia se desconecta en hibernación?
Cuando una instancia se asoció anteriormente con algún contexto persistente (por ejemplo, una tabla) y ya no está asociada, se llama para que esté en estado separado.
22. ¿Cuáles son los cuatro niveles de ORM en hibernación?
Los siguientes son los cuatro niveles de ORM en hibernación:
- puramente relacional
- Mapeo de objetos de luz
- Mapeo de objetos medianos
- Mapeo completo de objetos
23. ¿Qué es la gestión de transacciones en Hibernate? ¿Cómo funciona?
La gestión de transacciones es el proceso de gestionar un conjunto de sentencias o comandos. en hibernación; la gestión de transacciones se realiza mediante la interfaz de transacciones como se muestra en el siguiente código:
Session s = null;
Transaction tr = null;
try {
s = sessionFactory.openSession();
tr = s.beginTransaction();
doTheAction(s);
tr.commit();
} catch (RuntimeException exc) {
tr.rollback();
} finally {
s.close();
}
24. ¿Cuáles son los dos métodos de configuración de hibernación?
Podemos usar cualquiera de los siguientes dos métodos de configuración de hibernación:
- Configuración basada en XML (utilizando el archivo hibernate.cfg.xml)
- Configuración programática (usando lógica de código)
25. ¿Cuál es el servicio de caché predeterminado de hibernate?
Hibernate admite múltiples servicios de caché como EHCache, OSCache, SWARMCache y TreeCache y el servicio de caché predeterminado de hibernate es EHCache.
26. ¿Cuáles son las dos asociaciones de mapeo utilizadas en hibernate?
en hibernación; tenemos los siguientes dos tipos de asociaciones de mapeo entre entidades:
- Asociación uno a uno
- Asociación muchos a muchos
27. ¿Cuál es el uso de la API QBC de Hibernate?
La API Hibernate Query By Criteria (QBC) se utiliza para crear consultas mediante la manipulación de objetos de criterios en tiempo de ejecución.
28. ¿De cuántas maneras se pueden obtener objetos de la base de datos en hibernación?
Hibernate proporciona las siguientes cuatro formas de obtener objetos de la base de datos:
- Usando HQL
- Usando identificador
- Uso de la API de criterios
- Uso de SQL estándar
29. ¿Cómo se crea la clave principal usando hibernación?
La clave principal de la base de datos se especifica en el archivo de configuración hbm.xml. El generador también se puede usar para especificar cómo se crea la clave principal en la base de datos.
En el siguiente ejemplo, deptId actúa como clave principal:
30. ¿Cómo podemos volver a adjuntar objetos separados en Hibernate?
Los objetos que se han separado y ya no están asociados con ninguna entidad persistente se pueden volver a unir llamando al método session.merge() de la clase de sesión.
31. ¿Cuáles son las diferentes formas de deshabilitar el caché de segundo nivel de hibernación?
El caché de segundo nivel de Hibernate se puede deshabilitar usando cualquiera de las siguientes formas:
- Configurando use_second_level_cache como falso.
- Usando CACHEMODE.IGNORE
- Usando el proveedor de caché como org.hibernate.cache.NoCacheProvider
32. ¿Qué son los metadatos ORM?
Todo el mapeo entre clases y tablas, propiedades y columnas, tipos de Java y tipos de SQL, etc. se define en los metadatos de ORM.
33. ¿Cuál es la fábrica de transacciones predeterminada en Hibernate?
Con hibernate 3.2, la fábrica de transacciones predeterminada es JDBCTransactionFactory.
34. ¿Cuál es el papel de JMX en hibernación?
Las aplicaciones y los componentes Java se administran en hibernación mediante una API estándar denominada API JMX. JMX proporciona herramientas para el desarrollo de soluciones eficientes y sólidas distribuidas basadas en web.
35. ¿Cómo podemos vincular la fábrica de sesiones de hibernación a JNDI?
La fábrica de sesiones de Hibernate se puede vincular a JNDI haciendo cambios de configuración en el archivo hibernate.cfg.
36. ¿De cuántas maneras se pueden identificar los objetos en Hibernate?
La identificación de objetos se puede hacer en hibernación de las siguientes tres maneras:
- Uso de la identidad del objeto: uso del operador ==.
- Uso de la igualdad de objetos: uso del método equals().
- Uso de la identidad de la base de datos: los objetos de la base de datos relacional se pueden identificar si representan la misma fila.
37. ¿Cuáles son las diferentes estrategias de obtención de hibernación?
Las siguientes estrategias de recuperación están disponibles en hibernación:
- Unirse a buscar
- Obtención por lotes
- Seleccione Obtener
- Subseleccionar Obtención
38. ¿Cómo se realiza el mapeo de objetos java con tablas de base de datos?
Para mapear objetos java con tablas de base de datos, necesitamos tener nombres de propiedades de beans Java iguales a los nombres de columna de una tabla de base de datos. Luego, la asignación se proporciona en el archivo hbm.xml como se indica a continuación:
39. ¿Qué son las propiedades derivadas en hibernación?
Las propiedades derivadas son aquellas propiedades que no están asignadas a ninguna columna de una tabla de base de datos. Estas propiedades se calculan en tiempo de ejecución mediante la evaluación de cualquier expresión.
40. ¿Qué se entiende por consulta SQL con nombre en hibernación y cómo se usa?
Las consultas SQL con nombre son aquellas consultas que se definen en el archivo de asignación y se llaman según sea necesario en cualquier lugar.
Por ejemplo, podemos escribir una consulta SQL en nuestro archivo de mapeo XML de la siguiente manera:
Entonces esta consulta se puede llamar de la siguiente manera:
List students = session.getNamedQuery("studentdetails")
.setString("TomBrady", name)
.setMaxResults(50)
.list();
41. ¿Cuál es la diferencia entre el método load() y get() en hibernación?
Los métodos Load() dan como resultado una excepción si los registros requeridos no se encuentran en la base de datos, mientras que el método get() devuelve un valor nulo cuando no se encuentran registros contra la identificación en la base de datos.
Entonces, idealmente deberíamos usar el método Load() solo cuando estemos seguros de la existencia de registros contra una identificación.
42. ¿Cuál es el uso de la propiedad de versión en hibernación?
La propiedad de versión se usa en hibernación para saber si un objeto está en estado transitorio o separado.
43. ¿Qué es la programación orientada a atributos?
En la programación orientada a atributos, un desarrollador puede agregar metadatos (atributos) en el código fuente de Java para agregar más significado al código. Para Java (hibernación), la programación orientada a atributos está habilitada por un motor llamado XDoclet.
44. ¿Cuál es el uso de session.lock() en hibernación?
El método session.lock() de la clase de sesión se utiliza para volver a adjuntar un objeto que se ha desconectado anteriormente. Este método de volver a adjuntar no verifica ninguna sincronización de datos en la base de datos mientras vuelve a adjuntar el objeto y, por lo tanto, puede provocar una falta de sincronización en los datos.
45. ¿Hibernate admite polimorfismo?
Sí, hibernate es totalmente compatible con el polimorfismo. Las consultas de polimorfismo y las asociaciones de polimorfismo son compatibles con todas las estrategias de mapeo de hibernate.
46. ¿Cuáles son los tres modelos de herencia de hibernate?
Hibernate tiene los siguientes tres modelos de herencia:
- Tablas por Clase de Concreto
- Tabla por jerarquía de clases
- Tabla por subclase
47. ¿Cómo podemos mapear las clases como inmutables?
Si no queremos que una aplicación actualice o elimine objetos de una clase en hibernación, podemos hacer que la clase sea inmutable configurando mutable=false
48. ¿Qué es el flujo de hibernación general usando RDBMS?
El flujo de hibernación general que involucra RDBMS es el siguiente:
- Cargue el archivo de configuración y cree el objeto de la clase de configuración.
- Usando el objeto de configuración, cree el objeto sessionFactory.
- Desde sessionFactory, obtenga una sesión.
- Crear consulta HQL.
- Ejecute la consulta HQL y obtenga los resultados. Los resultados tendrán la forma de una lista.
49. ¿Qué es el mapeo de objetos de luz?
Light Object Mapping es uno de los niveles de calidad ORM en el que todas las entidades se representan como clases y se mapean manualmente.
50. ¿Cuál es la diferencia entre las asociaciones administradas y las asociaciones de hibernación?
Las asociaciones administradas se relacionan con la persistencia de la administración de contenedores y son bidireccionales, mientras que las asociaciones de hibernación son unidireccionales.
Estas preguntas de la entrevista también te ayudarán en tu viva(orals)
Buena colección de qns…
Excelente explicación,,,,
¿Podría agregar las siguientes preguntas también?
¿Cómo podemos invocar procedimientos almacenados en hibernación?
¿Cuál es la colección ordenada y la colección ordenada?
que es el estado persistente
Cómo se configura la verificación sucia
Configurar la interfaz de devolución de llamada
Cómo hacer que un objeto se separe
¿Qué pasó si separo un objeto transitorio?
explicar todos y cada uno de los niveles de ORM en Hibernate
Cómo habilitar/deshabilitar cahce de primer y segundo nivel
¿Cómo podemos vincular la fábrica de sesiones de hibernación a JNDI?
¿Cuál es la diferencia entre el método load() y get() en hibernación?
diferencia entre session.lock() y session.merge()
Cómo se mapea una clase como inmutable y por qué
¿Cómo podemos usar nuevas interfaces personalizadas para mejorar la funcionalidad de las interfaces integradas de hibernación?
Hola administrador. Será fructífero si agrega esta pregunta o más preguntas importantes de tipo mcq para el examen competitivo.