2010-04-21 16 views

Respuesta

16

StatelessSession no realiza un seguimiento de los cambios realizados en las entidades y no tiene soporte de carga diferida. Es por eso que tiene un mejor rendimiento que la Sesión.

Pero con la sesión sin estado se ve obligado a administrar Insertar, Eliminar, Actualizar operaciones manualmente y esto realmente incómodo.

sesión sin estado está hecho para operaciones por lotes donde se necesita para hacer una gran cantidad de consultas a la base de datos y que no es necesario el seguimiento de cambios, etc.

+0

Hay diferentes casos de uso también. Por ejemplo, cuando tiene una base de datos pequeña y desea mantener todo en la memoria durante toda la vida útil de la aplicación, y necesita la base de datos solo para poder restaurar el estado de la aplicación después de reiniciarla. En ese caso, 'IStatelessSession' le ahorra la sobrecarga de rendimiento asociada con la carga diferida, la fusión, etc. ... por supuesto, eso también significa que tendrá que implementar algún tipo de seguimiento de cambios usted mismo, p. con una implementación de patrón de unidad de trabajo personalizada. Por supuesto, NHibernate puede no ser la mejor opción para ese caso de uso ... – chris

Cuestiones relacionadas