Pregunta

Si User es una entidad, y yo necesidad de almacenar User en Session, se separa el siguiente solicitud.

Que yo sepa sólo hay 2 métodos para manejar estos objetos separados

  1. EntityMerge(session.user) - DB actualización con el objeto de sesión (inseguro)
  2. session.userID - entityLoadByPK() de nuevo en la siguiente solicitud (más carga)

Son estos los únicos 2 soluciones? Cualesquiera otras maneras?

Según Técnicas avanzadas "nofollow" con ColdFusion 9 ORM Integración de diapositivas concurrencia con el método # 1 se tiran error si la entidad ha sido cambiado en combinación, pero ¿cómo es esto útil? coger el método de excepción y el uso # 2?

Cuando usar EntityReload()? Pensé que funciona de la misma manera que EntityMerge(entity) pero no es así.

Gracias!

¿Fue útil?

Solución

tiendo sólo para almacenar el ID del usuario que ha iniciado la sesión en la sesión.

A continuación, tengo un método fachada UserService.getCurrentUser () que devuelve ese usuario si lo necesito.

De esta forma el usuario siempre está actualizada, y nunca separado.

Otros consejos

Yo por lo general sólo tiene que utilizar un objeto proxy de peso ligero (que sólo contiene propiedades de nivel superior) en la sesión y sólo se carga la entidad completa, según sea necesario, en exactamente el mismo caso de uso como se ha descrito. No usar el método # 1, a menos que realmente quiere quemarse (la experiencia de hablar allí).

sesiones Hibernate son perezosos cargado, y no persisten. Así, mientras que usted tiene el objeto en la memoria CF, que están apuntando a una sesión de Hibernate que está fuera de su alcance, a falta de mejor terminología. Para conseguir de nuevo en su alcance, que básicamente necesita para activarlo en sus solicitudes posteriores, usando algo como EntitySave () o EntityLoadByExample ()

Me acuerdo que envuelve en un servicio no sólo ayuda a evitar algunos de estos problemas, pero es en general mejor arquitectura de tocar directamente la entidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top