Estou desenvolvendo um aplicação usando SpringRoo e JSF 2.0 e estou tento o seguinte problema ao tentar atualizar um cliente no banco de dados
quando executa o metodo merge do JPA para inserir no banco funciona normal, mas quando carrego um objeto que possui ID e executo o metodo merge ele não faz o update, ele tenta fazer outro insert.
verifiquei q isso acontece se meu Controller estiver com escopo request, se mudar para session funcionar normal, mas nessa aplicação preciso trabalhar com escopo request.
entao vc vai ter que fazer o seguinte, antes de fazer o merge, vc vai ter que fazer uma consulta no banco com o id desse objeto e substituir os atributos desses objeto pelo objeto que veio da sua requisição.
t+
J
Jacomete
Blz alissonvla valeu por responder…
Então sempre quando estiver usando escopo request com JPA, terei que buscar o objeto novamente no banco como o exemplo abaixo:
vc pode usar o BeanUtils ele tem um metodo que copyProperties, que faz todo o servico de copiar as propriedades de um objeto para outro.
vai ficar assim
deixa eu te perguntar uma coisa, como eu ja busquei esse objeto do banco, quando eh executado o comando merge o jpa não teria que ver que este objeto possui id e fazer o update e não o insert
sei que isso soh acontece com o scope request, mas parece que fazendo essa copia antes de gravar e meio gambiara…
t+
A
alissonvla
cara,
ele teria que fazer update no seu objeto.
Com certeza isso é uma gambi danada…rsrs