Junior — Middle
Como é que a aplicação realiza a gravação e recuperação de um objeto do cache de primeiro nível?
sobes.tech IA
Resposta da IA
Em Java, por exemplo, ao usar Hibernate, o cache de primeiro nível é a sessão (Session), que armazena objetos carregados dentro de uma mesma transação. A persistência de um objeto no cache de primeiro nível ocorre automaticamente ao chamar métodos de salvamento ou carregamento de objetos através da sessão.
A recuperação de um objeto do cache de primeiro nível acontece ao fazer uma solicitação repetida do mesmo objeto com o mesmo identificador dentro de uma mesma sessão: Hibernate não acessa a base de dados, mas retorna o objeto do cache.
Exemplo:
Session session = sessionFactory.openSession();
session.beginTransaction();
// Carregamento de um objeto, que entra no cache de primeiro nível
User user = session.get(User.class, userId);
// Ao fazer uma chamada subsequente a get com o mesmo userId, o objeto é obtido do cache, sem realizar consulta ao BD
User sameUser = session.get(User.class, userId);
session.getTransaction().commit();
session.close();
Dessa forma, o cache de primeiro nível está vinculado à sessão e garante otimização ao reutilizar objetos carregados sem requisições adicionais ao banco de dados.