Estou com uma dúvida que me intriga muito…
tenho um manager que tem escopo de conversação, um DataModel, um DataModelSelection e um entityManager dessa forma:
@In
private EntityManager entityManager;
@DataModel
private List testes;
@DataModelSelection
@Out(required=false)
ptivate TesteUm testeUm;
até aqui tudo bem. Também tenho um método editar dessa forma:
<a class="mention" href="/u/begin">@Begin</a>
public String editar(){
entityManager.refresh(testeUm);
return “editarTeste”;
}
no meu método salvar eu faço uma verficação de teste desta forma
@End
public String salvar(){
TesteUm testeUmAux = entityManager.find(TesteUm.class, testeUm.getId())
entityManager.merge(testeUm);
return "testeSalvo";
}
Quando chamo o método editar ele popula meu formulario com os dados do objeto selecionado no meu dataModel, até aqui entendi.
Quando eu mudo algum dado no meu formulário (sem ser o id claro!)
e chamo o método salvar o objeto auxiliar que eu criei vem populado já com os dados alterados no formulário porque isso acontece? Não era para o teste vir com os dados antigos? Eu nem deu o merge e ele já vem com os dados alterados…por que?