TOP

Frameworks de persistencia.Diferencias (I)

Existen varios frameworks de persistencia como Hibernate, Ibatis, OpenJPA, etc... pero hoy voy a tratar las principales direfencias entre los dos primeros.

Antes de nada aclarar que un framework de persistencia es un marco de trabajo que se situa entre la logica de negocio y la capa de base de datos, abstrayendo uno del otro.
Comencemos por Hibernate.

Hibernate es una herramienta ORM que facilita el mapeo de los atributos de una base de datos relacional con el modelo de datos de la aplicación.
Este mapeo se hace mediante archivos XML o anotaciones en los beans.
Tambien ofrece la posibilidad de utilizar un lenguaje de consulta de datos HQL (Hibernate Query Lenguage).

Por su parte, Ibatis , asocia los beans del modelo de la aplicación con sentencias SQL contenidos en ficheros XML.

Veamos sus diferencias

Entre sus diferencias principales destaca que Hibernate es ORM e Ibatis no lo es, basicamente por que Ibatis no hace el mapeo directo de los atributos de la base de datos con los beans del modelo de datos e Hibernate es plenamente capaz de hacerlo. Ibatis necesita que hagamos una sentencia SQL para la relacion entre ambas capas.
Debido a esto mismo, Ibatis genera menos problemas de funcionamiento o desarrollo ya que siempre sabes que es lo que se está lanzando a la base de datos.
Es cierto que Hibernate facilita el desarrollo al no tener por que tener conocimiento alguno acerca de SQL, pero el no conocer lo que se hace de una manera tan clara como en Ibatis, lo desaconseja para desarrollos en los que la definición del modelo de datos está ya definido o si las relaciones en el modelo de datos van a ser complejas.

Otra diferencia, en este caso, mas positiva para Hibernate es que al utilizar su propio lenguage de consulta de datos, lo convierte en multimotor de base de datos.
Ibatis por su parte, soporta el cacheado de consultas incluso en distribuido para entornos con contenedores en cluster.

Por otro lado Ibatis consta con soporte para procedimientos almacenados e Hibernate solo a partir de la version 3.

En definitiva, son cosas parecidas, con un resultado similar, sin embargo, Hibernate podemos decir que sigue mas orientado a la filosofía basica de los frameworks, ya que nos separa mas esas capas permitiendo que se encargue el mismo de hacer las consultas e Ibatis hace que tengas que "definir" tu mismo el enlace, esto hace que se tenga mucho mas control sobre lo que estamos haciendo, pero nos separa de esa abstraccion de los framworks MVC.

<\O,_,O/>

1 comentarios:

  1. En artículos como este es donde uno se da cuenta cuando una persona combina el talento natural, la genialidad y miles de horas de trabajo duro!

Publicar un comentario

Share

Widgets