Duvida Commit[RESOLVIDO]

7 respostas
A

Olá
Estou com uma duvida … que é um problema rsrs…
Preciso atualizar alguns registro no banco em duas tabelas diferentes… porem, essa atualização precisa ser salva de uma vez só, ou seja, os dois registro precisam ser salvo junto, pois quando vou busca esses registros eu realizo a consulta através dos parâmetros que foram atualizados nas duas tabelas …

Se eu de um commit depois dos dois save… se eu realizar a busca enquanto a ultima tabela ainda não foi atualizada esse registro não irá aparecer ??

7 Respostas

fabiofalci

http://en.wikipedia.org/wiki/Isolation_(database_systems)

Depende da configuração, mas se vc estiver usando a configuração default do banco, não, não irá aparecer.
Ou aparece ambos ou nenhum.

Hebert_Coelho

Execute um flush após o commit.

Com o flush você força a alteração a ser persistida no DB.

fbl.lucas

use o flush após o primeiro save, e o commit apenas no final.
O flush força a execução do sql, o que também será feito ao chamar o commit.
O problema de chamar duas vezes o commit seria a questão do rollback, acredito que se ocorrer erro entre o primeiro e segundo commit
as alterações realizadas no primeiro não serão revertidas.

A

mas eu não posso chama só um commit para fazer as duas atualizações ?
Ou eu tenho que chama um commit para casa atualização ?

fbl.lucas

alepsilva14:
mas eu não posso chama só um commit para fazer as duas atualizações ?
Ou eu tenho que chama um commit para casa atualização ?

Um commit para as duas atualizações.

Hebert_Coelho

Para utilizar um commit para as duas atualizações você terá que colocar cascade caso esteja utilizando JPA.

A

Vlw … pessoal … Deu certo … :slight_smile:

Criado 26 de dezembro de 2011
Ultima resposta 26 de dez. de 2011
Respostas 7
Participantes 4