Buenas, primero presentarme en el sitio. Soy Jaime un desarrollador junior que me me formo constantemente.
Mi duda es la siguiente, estoy desarrollando un tpv web con java, hibernate, servlets y jquery(no estoy usando spring). Y lo que hago es hacer consultas mediante ajax a unos servlets y me muestra el siguiente error.
org.hibernate.SessionException: Session was already closed
Hago varias llamadas ajax en el momento de carga del tpv. Traigo los productos, las categorias, vendedoresy zonas. Y estas cuatro llamadas funcionan unas veces si y otras no, si debugeo funciona casi siempre.
En la vista tengo lo siguiente:
<code>
< div id="pnlCategorias" class="inline marginTop >
</div>
</code>
En servlet
ArrayList<Categoria > c = new ArrayList<Categoria>();
HibernateGenericDAO<Categoria> cat = new HibernateGenericDAO<Categoria>();
c = (ArrayList) cat.selectAll(Categoria.class);
El dao
public List<T> selectAll(Class<T> entityClass) throws HibernateException {
List<T> result = null;
try {
session = HibernateSession.getSession();
result = session.createQuery("FROM " + entityClass.getSimpleName())
.list();
} catch (HibernateException he) {
handleException(he);
} finally {
session.close();
}
return result;
}
Y el Jquery que uso de controlador
$.post('TraerCategorias', {
id: 2
}, function(responseText) {
$('#pnlCategorias').html(responseText);
});
Hago esto para cada llamada. Con su respectivo servlet, controlador, dao y vista.
Gracias y un saludo.