iberck
9/2/2015 - 11:13 AM

Caché de primer nivel en hibernate

Caché de primer nivel en hibernate

Hibernate - caché de primer nivel

Ayuda a reducir el número de queries que se ejecutan contra la base de datos dentro de la misma sesión.

  1. El caché de primer nivel está asociado con el objeto "session" y otros objetos session no lo pueden ver.
  2. El scope del caché de primer nivel es la sesión. Una vez que la sesión es cerrada, se destruye el caché de primer nivel.
  3. El caché de primer nivel es activado por default y no se puede desactivar.
  4. Cuando se obtiene una entidad por primera vez, se obtiene de la base de datos y se guarda en el caché de primer nivel asociado con la sesión de hibernate.
  5. Si hacemos un query sobre el mismo objeto con la misma sesión, se leerá del caché de primer nivel y no se consultará la bd (y retorna la misma instancia).
  6. La entidad leida puede ser removida del caché de la sesión utilizando el método evict(). La próxima vez que se lea la entidad, volverá a hacer una consulta contra la bd.
  7. El caché de la sesión puede ser completamente removido con el método sesion.clear().