Boas Práticas para gerenciar em memória/persistir Objetos complexos  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
nightmare
Thread.start()

Membro desde: 24/02/2008 19:40:55
Mensagens: 25
Offline

Pessoal, Boa Noite,

Tem um problema que sempre encontro em projetos e acabam sendo solucionados com formas "paliativas" e gostaria de saber se existe um boa prática para essas situações.

Imaginem um objeto que possui um atributo que é uma lista (Pode ser pessoa e telefone por exemplo) em uma tela JSF onde teria a lista de pessoas, clicando nela um modal onde iria adicionar e remover os itens da lista.
Os atributos da entidade estão sendo "bindados" diretamente na página. Até tranquilo. Porém é requisito do negócio que eu possa cancelar a operação que estou executando na lista. O problema é que tudo isso ocorre em memória, o usuário irá confirmar lá no final depois de adicionar/remover itens de N objetos.

O que acontece, no cancelar eu poderia dar refresh no objeto. Mas o usuário pode abrir a lista, editar, confirmar (ou seja, ele confirmou as alterações e o objeto do banco já está defasado perante o da tela). Ele abre de novo a mesma lista e apenas olha e cancela (o cancelar não pode dar refresh nesse caso).

Isso é apenas uma combinação de operações que tenho dificuldade de manipular devido a esse controle em memória do estado do objeto. Alguém sabe se existe algum padrão ou boa prática para isso? Já inventei de criar inner class no objeto para controlar o estado anterior (tipo um memento) e implementar um save, restore, update (ou seja, recriando a roda). Já criei listas a parte nos managed beans e por aí vai.

Alguém já entrou nessa situação? Como resolveram?

Falou
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team