Estoy actualizando nuestro proyecto de Hibernate 3.0 a Hibernate 4.1.6. (Y actualmente estamos usando la primavera 3.1)Actualización a Hibernate 4.1 y la "infame" HibernateTemplate
He leído en muchos artículos y en la documentación de HibernateTemplate, que desde la versión 4.0 HibernateTemplate no es compatible y que debería reemplazar su uso con la llamada sessionFactory.getCurrentSession()
para obtener una sesión.
Dado que este proyecto se inició con la versión anterior de Hibernate, donde se fomentó el uso de HibernateTemplate
, actualmente tenemos 124 usos de HibernateTemplate
en todo nuestro proyecto. Me temo que reemplazar todas estas ocurrencias con sessionFactory.getCurrentSession()
podría insertar errores de regresión en nuestro proyecto. Además, hay algunos lugares donde se usó HibernateTemplate
en un contexto no transaccional, donde no hay una sesión 'actual'. ¿Qué debería hacer en esos casos? ¿Abrir una nueva sesión y manejarla (cerrarla) yo mismo? Ese no fue el caso cuando usé HibernateTemplate
.
¿Tiene alguna buena estrategia para abordar estos problemas?
Gracias.
lectura relevantes:
- Hibernate Vs. Spring - HibernateTemplate history
- Hibernate Core Migration Guide
- MIGRATING TO SPRING 3.1 AND HIBERNATE 4.1
- org.springframework.orm.hibernate3.HibernateTemplate
No contribuye a la respuesta aún buena lectura http://blog.springsource.com/2007/06/26/so-should-yill-use-springs-hibernatetemplate-andor-jpatemplate/ – xyz
también podría ser relevante: https://community.jboss.org/wiki/SessionsAndTransactions – yair