Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Qual a diferença do flush pro commit e entre clear e remove?

Não ficou muito claro pra mim essa diferença Flush x Commit e Clear x Remove.

3 respostas

O flush sincroniza os dados com o banco, ele salva mas não efetua o commit, ou seja, a transação ainda não terminou e pode ser desfeita fazendo um rollback caso ocorra uma exceção, por exemplo. Costuma-se usar por vezes para já pegar o "id" que foi salvo no banco para aquele registro salvo e utilizá-lo logo em seguida em outro ponto do código.

O commit já salva e termina a transação, não é possível fazer o rollback.

E o clear e remove? Qual a diferença?

solução!

Oi Caroline,

remove -> Utilizado para excluir uma entidade do banco de dados.

clear -> utilizado para remover as entidades do estado managed do entitymanager(apenas em memoria, nao vai afetar nada no banco de dados)

Na prática o método clear raramente será necessário de utilizar nos projetos.

Bons estudos!