Junior — Middle
Que métodos utilizas para gerir o ciclo de vida dos objetos no Hibernate?
sobes.tech IA
Resposta da IA
No Hibernate, a gestão do ciclo de vida dos objetos é feita através de vários métodos e estados das entidades:
- save() / persist() — guardam um novo objeto na base de dados, transferindo-o para o estado de «gerido» (persistent).
- update() / merge() — atualizam um objeto existente ou combinam o estado de um objeto desligado com o contexto atual.
- delete() — removem um objeto da base de dados.
- evict() — removem um objeto da sessão, transferindo-o para o estado de «desligado» (detached).
- refresh() — atualizam o estado do objeto a partir da base de dados.
O ciclo de vida de um objeto no Hibernate inclui os estados: transitório (temporário, não ligado à sessão), persistent (gerido pela sessão), detached (desligado da sessão).
Exemplo:
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
// Criação e armazenamento de um objeto
User user = new User();
user.setName("John");
session.save(user); // o objeto passa a ser persistent
// Atualização do objeto
user.setName("John Doe");
session.update(user);
// Remoção do objeto
session.delete(user);
tx.commit();
session.close();
Assim, os métodos do Hibernate permitem controlar o estado dos objetos e a sua sincronização com a base de dados.