1
resposta

O que significa "sincronizar" com o bancos de dados?

O que seria sincronizar com o banco de dados? Não seria literalmente fazer o insert/update? Não entendi esses estados onde "está" no banco de dados mas não está, achava q commit efetuava literalmente o comando sql, e o flush? se é uma sincronização, como o bd esta nesse momento que esta mandando comandos de insert e etc?

1 resposta

Boa tarde Jade.

Quando você trabalha com um ORM como o Hibernate você tem as suas tabelas do lado do banco de dados e suas classes do lado da aplicação Java, sincronizar significa a grosso modo realizar uma ligação entre o objeto do mundo Java com a tabela do mundo do Banco de dados, para isso é necessário que o objeto da classe esteja sendo gerenciado (Managed) pelo Hibernate, existe o estado Transient para um objeto em que ele se encontra antes de você chamar o método persist, onde o Hibernate não está gerenciando aquele objeto, ou seja, você pode realizar alterações, realizar commits e outras operações que o Hibernate não irá gravar no banco de dados.

Basicamente, se você não sincronizar o objeto java com a tabela no banco de dados as alterações do realizadas não surtirão efeito.

Espero ter ajudado.