Estou com um problema na minha aplicação. Crio dois objetos iguais, e quando altero um o outro altera também.
//aqui pego dois objetos iguais do bancoClientecliente1=newClienteDAO().get(id,false);Clientecliente2=newClienteDAO().get(id,false);cliente2.setNomeFantasia("joao");//depois que passar daqui o nome fantasia do cliente1 também fica joão
Se o método ClienteDAO.get() estiver retornando a mesma referência duas vezes (o que é possível, devido ao recursos de cache do Hibernate), então as variáveis cliente1 e cliente2 apontarão para a mesma referência. Assim, na verdade você não tem dois objetos distintos, mas sim um único objeto com dois pontos de acesso. Assim, não é que esteja acontecendo de, ao alterar um objeto, também alterar o outro - um único objeto está sendo alterado, mas há mais de uma variável apontando para esse objeto.
Y
yuri_ev
Resolveu dando um clienteDAO.clear() antes de instanciar o cliente2. Agora não sei se é o mais indicado.
Y
yuri_ev
Não deu muito certo, em determinados momentos ocorre o erro:
javax.servlet.ServletException: could not initialize proxy - no Session