Oi pessoal!!!
Surgiu uma duvida: Como vcs estão implementado o update de voces???
Andei procurando na net e vi que tem gente que só faz assim:
<blockquote>public boolean atualizar(Dados vo ) throws PersistenceException {
EntityManager manager = Conexao.getFactory().createEntityManager();
try {
EntityTransaction tx = manager.getTransaction();
tx.begin();
Dados d= manager.find(Dados.class,vo.getId());
d=vo;
tx.commit();
…</blockquote>
E vi gente fazendo assim (colocando o merge):
<blockquote>public boolean atualizar(Dados vo ) throws PersistenceException {
EntityManager manager = Conexao.getFactory().createEntityManager();
try {
EntityTransaction tx = manager.getTransaction();
tx.begin();
Dados d= manager.find(Dados.class,vo.getId());
d=vo;
manager.merge(d);
tx.commit();
…</blockquote>
E ai???
Qual é o jeito mais correto de se fazer???
Ou não é nenhum desses???
Testei os 2 jeitos e em algumas tabelas (não sei pq) não atualizam que senão tiver o merge, mas em compensação se for passado um ID que não existe é como se eu estivesse inserindo um novo item.
E agora?
O que vcs me indicam???
Muito Obrigada!!! :lol: