Estoy escribiendo un proyecto simple, una aplicación comercial escrita en Swing, usando Hibernate para back-end. Vengo de Spring, eso me dio formas fáciles de usar hibernate y transacciones. De todos modos, logré que Hibernate funcionara. Ayer, al escribir algo de código para eliminar un grano de DB, tengo esto:¿Por qué obtengo org.hibernate.HibernateException: No CurrentSessionContext configurado
org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
El código de eliminación es simplemente:
Session sess = HibernateUtil.getSession();
Transaction tx = sess.beginTransaction();
try {
tx.begin();
sess.delete(ims);
} catch (Exception e) {
tx.rollback();
throw e;
}
tx.commit();
sess.flush();
y mi HibernateUtil.getSession()
es:
public static Session getSession() throws HibernateException {
Session sess = null;
try {
sess = sessionFactory.getCurrentSession();
} catch (org.hibernate.HibernateException he) {
sess = sessionFactory.openSession();
}
return sess;
}
adicional detalles: nunca cierro una sesión de hibernación en mi código, solo al cerrar la aplicación. ¿Esto esta mal? ¿Por qué obtengo esto en eliminar (solo para ese bean, otros sí funcionan) y no en otras operaciones (Insertar, consultar, actualizar)?
leí alrededor y traté de modificar mi método getSession
simplemente en un sessionFactory.getCurrentSessionCall()
, pero tengo: org.hibernate.HibernateException: No CurrentSessionContext configured!
Hibernat conf:
<hibernate-configuration>
<session-factory >
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/joptel</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">******</property>
<property name="hibernate.connection.pool_size">1</property>
<property name="show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
..mappings..
</session-factory>
</hibernate-configuration>
¿Cómo se ve el archivo de configuración de hibernación? – Santosh