La arquitectura de Hibernate es en capas para mantenerlo aislado de tener que conocer las API subyacentes. Hibernate usa los datos de la base de datos y proporcionando persistencia entre los diferente objetos. Los interfaces que presenta Hibernate son los siguientes:
- Configuration: Representa un archivo de configuración o propiedades requerido por la hibernación. El objeto de configuración proporciona dos componentes claves: Conexión de bases de datos y configuración del mapeado de clase.
- Session Factory: Configura Hibernate para la aplicación que utiliza el archivo de configuración suministrado y permite un objeto Session que se crea una instancia.
- Session: Se utiliza para obtener una conexión física con una base de datos.
- Transaction: Representa una unidad de trabajo con la base de datos y la mayor parte del RDBMS soporta la funcionalidad de transacción. Las transacciones en hibernación son manejados por un gestor de transacciones subyacente y de transacción (de JDBC o JTA).
- Query: Objetos de consulta SQL utilizan o cadena Hibernate Query Language (HQL) para recuperar datos de la base de datos y crear objetos.
De forma gráfica esto se puede ver en la siguiente imagen que se muestra a continuación:
Para saber más sobre Hibernate y su arquitectura visita el siguiente enlace.