Pessoal,
Estou precisando atualizar e inserir um novo registro em uma mesma entidade.
Porém só posso commitar caso as duas operações ocorram com sucesso. Caso dê erro em uma das duas operações, devo dar rollback.
O código que eu montei está respeitando a regra, porém só commita a operação de alteração.
Segue código resumido:
[code]private EntityManager entityManager;
public void manterTeste(Teste testeOld){
try{
// inserir
Teste testeNew = new Cliente();
testeNew.setId(1);
testeNew.setNome("Teste NEW");
entityManager.persist(testeNew);
//atualizar
testeOld.setNome("Teste OLD");
entityManager.merge(testeOld);
entityManager.flush();
}catch{
// erro
}
}[/code]