Estou trabalhando com objetos na sessão e todos eles gerenciado pelo VRaptor, e o meu fluxo de cadastro e edição no banco de dados só é feito quando o usuário clica em salvar, ou seja, toda modificação que o usuário faz no objeto fica na sessão.
Como estou usando JPA ficou fácil salvar e editar, pois a JPA faz todo o trabalho “manual”, que é inserir todos os filhos de uma entidade e etc…
O meu problema seria na hora da remoção, tenho objetos que possuem listas e relacionamentos com outros objetos, quando eu removo um objeto da lista nada acontece (o objeto continua no banco), sendo que eu não estou chamando o método remove do entityManager, o mesmo tem que ser chamado? A JPA não deveria detectar que um objeto foi removido da lista ou a sua referência perdida e tirar ele do banco?
Se eu tenho que chamar o método remove, em que momento eu tenho que fazer isso? Pois o usuário altera o objeto na sessão e só no final do processo que o mesmo é persistido. Gostaria ver as soluções que o pessoal usa por ai…
Desde já agradeço a ajuda de todos.