Problema de serialización innecesaria en un web service

El problema consiste en al hacer una consulta desde el web service (EJB y soap) el servicio obtiene la consulta de la base de datos de forma correcta, sin embargo, la consulta regresa todos los objetos relacionados al objeto consultado (serializados en un XML), a pesar de que en el mapeo de hibernate esos objetos estén mapeados como LAZY.

Esto me parece muy extraño porque si la consulta se hace desde una clase java con una getHibernateTemplate("from Objeto"); el objeto solo trae los campos que no estan mapeados como Lazy, pero al hacer la consulta desde el servicio trae todos los objetos a pesar de estar mapeados como lazy.

Esto representa un problema ya que el xml del objeto serializado trae información que es innecesaria, alguien me podría decir si esto es un problema de configuración del web service o de hibernate?????

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

lazy

Cuando marcas algo como lazy significa que no se va a traer los datos hasta que se necesiten. Cuando serializas el objeto, se serializa la propiedad que contiene los objetos que dices, lo cual se considera como que *los necesitas* y por lo tanto se los trae de la base de datos y se serializan.

Si no quieres que pase eso, vas a tener que hacer tu propia serialización que sólo incluya los datos que te interesan. O cerrar la sesión para asegurarte que no se va a traer esos objetos y ponerle una lista vacía o null en esa propiedad para que al momento de serializar no intente traerse nada (y obvio no darle save ni nada a ese objeto, desecharlo y ya).

Me parece mas interesante la

Me parece mas interesante la segunda opción (ya que son mucho objetos que tienen el mismo problema), aunque no sé como podría cerrar la sesión antes de que pida los objetos relacionados, justo después de que obtenga los objetos principales. Me podrías decir como hacer eso o donde puedo buscar información sobre eso??

PD: gracias por la respuesta