Diferencia entre Spring e Hibernate

Que diferencia hay entre Spring e Hibernate ?? cual me conviene usar si quiero desarrollar con Flex. Gracias por su ayuda, y un saludos a la comunidad.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

Gran diferencia

La diferencia entre Spring y Hibernate es como la diferencia entre una televisión y una computadora. Simplemente son dos cosas distintas.

Hibernate es un ORM Object-Relational Mapper. Te permite conectarte a una base de datos y persistir objetos sin tener que manejar SQL ni JDBC.

Spring es un framework que se vuelve cada vez más como la navaja suiza para los proyectos en Java. Tiene un poco de todo. Incluso puedes hacer algo de ORM muy simple, pero nada como Hibernate. Sin embargo Spring tiene soporte para Hibernate. Uno de los principales módulos de Spring es el de IoC (Inversion of Control) para manejar componentes y las conexiones entre ellos. El soporte para Hibernate consiste en traducción de las excepciones de Hibernate a excepciones de Runtime, una clase para implementar DAOs de Hibernate sin tener que cerrar las sesiones (funciona por medio de AOP), manejo de transacciones, callbacks para tareas simples, etc.

Puedes usar ambos con Flex. Hibernate te servirá para la capa de persistencia, que ya está muy lejos de Flex (que es interfaz con usuario). Por aquí en el sitio hay algo de contenido que habla de integración Flex + Spring, incluyendo un webinar que postearon hoy mismo.

Gracias..!!

gracias ezamudio siempre tan acertado como siempre, bueno muchas gracias por la explicación, estoy ahoria con hibernate para después integrar Hibernate - Java - BlazeDS - Spring y Flex, todo esto puede trabajar a la perfeccción verdad ??, bueno de atemano muchas gracias.

si es asi puedes usar

si es asi puedes usar hibernate java blazeds y spring con flex , yo he configurado lo siguiente
ibatis java blazeds y spring y flex 3 todo perfecto hasta ahora , porque no use hibernate porque ibatis es toda una magia..

Imagen de AlexSnake

Entonces que conviene

Oie ezamudio de acuerdo a tu definicion que proporcionas, supongo que conviene utilizar Hibernate para el manejo de la bd??? o tu que nos recomendarias ocupar el ORM de Spring?? existe algun otro ORM que permita hacer y que sea mejor o lo mismo que hibernate??

Imagen de ezamudio

Depende...

Existen otras opciones, como Cayenne, iBatis, JDO provisto por el contenedor... Conozco Hibernate y se me hace bueno. Es también de los más populares que hay. No sabía que Spring trajera su propio ORM; según yo puedes armar uno MUY rudimentario con SimpleJdbcTemplate y los RowMappers, pero un ORM completo?

iBatis te puede dar mayor control sobre las consultas, lo cual es bastante deseable, pero tiene rato que no lo veo. Un argumento a favor de Hibernate es que en algun momento ya metieron a Gavin King (el creador de Hibernate) al JCP para ayudarles en hacer la versión de EJB 3.0, JDO, etc. porque ya llevaba varios años Hibernate siendo el ORM más popular.

Imagen de AlexSnake

Es muy cierto

Gracias ezamudio por aclararme la duda, estoy trabajando con Spring y en lo personal no me gusta ocupar su SimpleJdbcTemplate y el RM, crei que podia dar el ancho de un ORM completo... pero creo que no, por ello mismo estoy integrando y a su vez migrando los DAO a Hibernate.

Saludos.