Se trata de una herramienta de mapeo objeto-relacional que proporciona un framework para llevar a cabo esta operación de asociación entre dos paradigmas conceptualmente muy distintos, el orientado a objetos y el relacional. En el caso de enfrentarnos a un problema sencillo en el que los objetos no revisten una complejidad extrema, mantener la persistencia no es algo complejo, pero la cosa cambia cuando los objetos que queremos almacenar presentan una gran cantidad de atributos compuestos, asociaciones y agregaciones, donde se han de guardar numerosas referencias, con lo que el tamaño de los datos en el repositorio se incrementan de forma exponencial sin que ello suponga un beneficio global para el sistema.
Para lograr este mapeo, Hibernate, permite al desarrollador detallar cómo es su modelo de datos, qué relaciones existen y qué forma tienen. Con esta información, el mapeador faculta a la aplicación para manipular los datos de la base operando sobre objetos, con todas las características de la POO. Hibernate convertirá los datos entre los tipos utilizados por Java y los definidos por SQL. Hibernate genera las sentencias SQL y libera al desarrollador del
manejo manual de los datos que resultan de la ejecución de dichas sentencias, manteniendo la portabilidad entre todos los motores de bases de datos con un ligero incremento en el tiempo de ejecución.
Otra de las ventajas que aporta esta herramienta es que las relaciones son definidas una sola vez por el equipo de desarrollo y se almacenan en un fichero XML que es leido de forma directa por el propio mapeador, con lo que no es necesario estar constantemente indicando dónde va cada objeto o de qué tabla se ha de obtener qué dato.

La ventaja de usar objetos de acceso a datos es que cualquier objeto de negocio (aquel que contiene detalles específicos de operación o aplicación) no requiere conocimiento directo del destino final de la información que manipula. Ello implica que estos objetos se pueden emplear para hacer independiente la aplicaciónde la herramienta de persistencia que utilice (JDBC o incluso el propio Hibernate), con lo que la tecnología subyacente puede ser modificada sin
que las otras partes de la aplicación hayan de sufrir cambio alguno.

No hay comentarios:
Publicar un comentario