Diego's weblog - Developer's notes

Todo | General | Design | Java
Main | Next day (abr 18, 2007) »

20070417 martes abril 17, 2007

Open Session In View, Spring & Hibernate

Estuve analizando las diferentes posibilidades que existen dentro del Spring Framework para la implementación del "pattern" Open session in view.

Spring propone dos formas:

Probe ambos mecanismos y encontre el primero tiene dos problema grave (al menos es lo que yo encontre)

Por ejemplo:

Grupo grupo = new Grupo();
grupo.setId(form.getIdGrupo());
empresa.setGrupo(grupo);


El objeto grupo queda en la session actual y si luego es consultado para ser mostrado en una tala por ejemplo, la descripcion seria null. Para resolver este problema hay que cargar el objeto grupo utilizando un load().

Grupo grupo = servicio.findById(form.getIdGrupo());   // cargo el objeto
empresa.setGrupo(grupo);

En el mecanismo de deferred session encontre que para ciertas consultas se pueden abrir una gran cantidad de sessiones, por lo que hay que tener en cuenta esto para definir el tamaño del pool de conexiones

( abr 17 2007, 04:47:34 PM ART ) Permalink Comentarios [0]