Mais de uma ação de persistência na mesma entidade

0 respostas
C

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:

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
		}
	}
Criado 1 de março de 2013
Respostas 0
Participantes 1