Sobes.tech
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.