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 ??
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
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 ?
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.