Recientemente he escrito muchos tutoriales sobre Hibernate. Hibernate es una de las mejores herramientas ORM de Java en el mercado actual. Así que esta publicación es como un índice de todos los tutoriales y ejemplos de Hibernate. Puedes seguir estos tutoriales de Hibernate en secuencia para aprender Hibernate desde cero. Probablemente agregaré más tutoriales de Hibernate a la lista, así que quizás quieras marcarla y revisarla de vez en cuando.
Tutorial de Hibernate
- Tutorial de Hibernate para principiantes Hibernate admite anotaciones JPA y es muy flexible. Podemos configurarlo utilizando XML, archivos de propiedades y también programáticamente. Este tutorial es una excelente manera de comenzar con el marco de trabajo de Hibernate. Se centra en las diferentes configuraciones necesarias para Hibernate y proporciona ejemplos de asignación simple basada en XML, así como asignación basada en anotaciones JPA. También aprenderás diferentes formas de inicializar
SessionFactory
y componentes importantes del marco de trabajo de Hibernate. - Asociación uno a uno de mapeo en Hibernate La mayoría de las veces, las tablas de la base de datos están asociadas entre sí. Existen muchas formas de asociación: uno a uno, uno a muchos y muchos a muchos son a un nivel amplio, que pueden dividirse aún más en mapeos unidireccionales y bidireccionales. Este tutorial te guía a través de la implementación de la asociación uno a uno de Hibernate utilizando configuración XML y también utilizando configuración de anotaciones JPA.
- Asociación uno a muchos de mapeo en Hibernate En términos simples, el mapeo uno a muchos significa que una fila en una tabla puede ser mapeada a múltiples filas en otra tabla. Por ejemplo, piensa en un sistema de carrito donde tenemos otra tabla para los elementos. Un carrito puede tener múltiples elementos, así que aquí tenemos un mapeo uno a muchos. En este tutorial aprenderás cómo implementar el mapeo uno a muchos utilizando configuración basada en XML y luego utilizando Anotaciones de Hibernate.
- Asociación muchos a muchos de mapeo en Hibernate El mapeo muchos a muchos generalmente se implementa en la base de datos utilizando una tabla de unión, por ejemplo, podemos tener las tablas Carrito e Item y la tabla Carrito_Items para el mapeo muchos a muchos. Cada carrito puede tener múltiples elementos y cada elemento puede ser parte de múltiples carritos, así que aquí tenemos un mapeo muchos a muchos. Este tutorial explica sobre el mapeo muchos a muchos unidireccional y bidireccional de Hibernate.
- Lenguaje de Consulta de Hibernate (HQL) El marco de trabajo Hibernate viene con un potente lenguaje de consulta orientado a objetos: el Lenguaje de Consulta de Hibernate (HQL). Es muy similar a SQL, excepto que utilizamos objetos en lugar de nombres de tablas, lo que lo acerca más a la programación orientada a objetos. Este artículo explica sobre HQL y las diferentes cláusulas admitidas por el lenguaje HQL.
- Consulta SQL Nativa de Hibernate Hibernate proporciona la opción de ejecutar consultas SQL nativas a través del uso del objeto SQLQuery. Esto es muy útil cuando queremos ejecutar consultas específicas de la base de datos que no son compatibles con la API de Hibernate, como sugerencias de consulta o la palabra clave CONNECT en Oracle Database.
- Consulta Nombrada de Hibernate Si hay muchas consultas HQL o SQL nativas, causarán un desorden en el código porque todas las consultas estarán dispersas por todo el proyecto. Es por eso que Hibernate proporciona Consultas Nombradas que podemos definir en un lugar central y usarlas en cualquier parte del código. Podemos crear consultas nombradas tanto para HQL como para SQL nativas. Las Consultas Nombradas de Hibernate se pueden definir en archivos de mapeo de Hibernate utilizando el elemento
query
osql-query
, o a través del uso de anotaciones JPA @NamedQuery y @NamedNativeQuery. - Hibernate Criteria Hibernate proporciona la API Criteria, que es más orientada a objetos para realizar consultas a la base de datos y obtener resultados. No podemos utilizar Criteria para ejecutar consultas de actualización o eliminación ni para realizar declaraciones DDL. Solo se utiliza para recuperar los resultados de la base de datos utilizando un enfoque más orientado a objetos. Algunos de los usos comunes de la API Criteria son la proyección que podemos utilizar para funciones agregadas como sum(), min(), max(), etc., ProjectionList para recuperar solo columnas seleccionadas, ordenar los resultados, etc.
- Hibernate First Level Cache La caché de Hibernate puede ser muy útil para lograr un rendimiento rápido de la aplicación si se utiliza correctamente. La idea detrás de la caché es reducir el número de consultas a la base de datos, y por lo tanto, reducir el tiempo de procesamiento de la aplicación. La caché de primer nivel de Hibernate está asociada con el objeto Session. La caché de primer nivel de Hibernate está habilitada de forma predeterminada y no hay forma de deshabilitarla. Sin embargo, Hibernate proporciona métodos mediante los cuales podemos eliminar objetos seleccionados de la caché o borrar completamente la caché. Cualquier objeto almacenado en una sesión no será visible para otras sesiones y, cuando se cierre la sesión, todos los objetos en caché también se perderán.
- Almacenamiento en caché de segundo nivel de Hibernate con EHCache Los proveedores de caché de segundo nivel de Hibernate incluyen EHCache e Infinispan, pero EHCache es más popular porque es fácil de integrar y admite todas las estrategias de caché de Hibernate. Este tutorial proporciona un ejemplo completo para integrar EHCache con el marco de trabajo de Hibernate.
- Hibernate get vs load La sesión de Hibernate proporciona diferentes métodos para obtener datos de la base de datos. Dos de ellos son – get() y load(). También hay muchos métodos sobrecargados para estos, que podemos usar en diferentes circunstancias. A primera vista, tanto get() como load() parecen similares porque ambos obtienen los datos de la base de datos. Sin embargo, hay algunas diferencias entre ellos, este tutorial las explica con código de ejemplo.
- Hibernate save vs persist La sesión de Hibernate es la interfaz entre la aplicación Java y el marco de trabajo de Hibernate. Este tutorial explica sobre los métodos importantes de la sesión para guardar y actualizar datos en tablas – save, saveOrUpdate, persist, update y merge.
- Hibernate openSession vs getCurrentSession SessionFactory de Hibernate es la clase de fábrica a través de la cual obtenemos sesiones y realizamos operaciones en la base de datos. SessionFactory de Hibernate proporciona tres métodos a través de los cuales podemos obtener el objeto Session: getCurrentSession(), openSession() y openStatelessSession(). Este tutorial explica cada uno de ellos con código de ejemplo.
- Integración de Hibernate con log4j Hibernate 4 utiliza el registro de JBoss, pero log4j es el framework de registro más popular. Un tutorial rápido que explica cómo integrar el registro de log4j con el framework de Hibernate.
- Ejemplo de Hibernate Tomcat JNDI DataSource La mayoría de las veces, el framework de Hibernate se utiliza en aplicaciones web que se ejecutan en Tomcat o cualquier otro contenedor de servlets. Hibernate puede utilizar el DataSource definido como recurso JNDI en el contenedor, este es el enfoque preferido para permitir que el contenedor de servlets maneje las conexiones de la base de datos utilizando el agrupamiento de conexiones.
- Integración de Spring y Hibernate Spring es uno de los frameworks de Java EE más utilizados y Hibernate es el framework ORM más popular. Por eso, la combinación de Spring y Hibernate se utiliza mucho en aplicaciones empresariales. Este tutorial utiliza Spring 4 y lo integra con Hibernate 3 y luego actualiza el mismo proyecto para usar Hibernate 4.
- Ejemplo de Spring MVC Hibernate Este tutorial avanza y explica cómo integrar Hibernate con Spring MVC y utilizar la gestión de transacciones declarativa de Spring, en lugar de utilizar la gestión de transacciones de Hibernate.
- Ejemplo de Integración de Struts2 Hibernate Este tutorial explica la forma general de integrar Hibernate con cualquier aplicación web a través del uso de ServletContextLister, el ejemplo utiliza Struts2 con Hibernate pero la integración detrás de escena se realiza utilizando solo tecnología Servlet. Esto es diferente de la integración de Spring porque Struts2 no proporciona ningún soporte integrado para la integración de Hibernate.
- Ejemplo de Validador de Hibernate La validación de datos es una parte integral de cualquier aplicación. Es una tarea transversal que ocurre en la capa de presentación, en la capa de negocios y también en la capa persistente. Por eso, JSR-303 proporciona un estándar basado en anotaciones para aplicar validación a las propiedades de los bean de Java. Hibernate Validator proporciona soporte para JSR-303 y este tutorial muestra su uso con un ejemplo simple.
- Plugin de Eclipse Hibernate Tools Si has trabajado en proyectos de hibernate, debes estar familiarizado con muchas propiedades que necesitamos para el mapeo y archivo de configuración de hibernate. Sin ninguna herramienta adecuada que pueda guiarnos para buscar las propiedades correctas, será muy difícil configurar correctamente nuestra aplicación. Aquí es donde el Plugin de Eclipse Hibernate Tools resulta útil y es un complemento imprescindible para proyectos de hibernate.
- Preguntas de entrevista sobre Hibernate Tener un buen conocimiento del marco de trabajo de Hibernate es un punto a favor para las entrevistas basadas en Java, por eso escribí esta publicación. Contiene la mayoría de las preguntas importantes relacionadas con el marco de trabajo de Hibernate con respuestas detalladas. Deberías repasarlas antes de ir a la entrevista para repasar tu conocimiento.
Tutorial de Hibernate – Soluciones para errores comunes
- Cómo configurar hibernate.cfg.xml para trabajar sin conexión
- org.hibernate.AnnotationException: No se especificó ningún identificador para la clase de entidad
- org.hibernate.HibernateException: get no es válido sin una transacción activa
- org.hibernate.HibernateException: No se ha configurado ningún CurrentSessionContext
- Programa de Hibernate no terminando
- El acceso a DialectResolutionInfo no puede ser nulo cuando ‘hibernate.dialect’ no está configurado
Source:
https://www.digitalocean.com/community/tutorials/hibernate-tutorial