By Sriram Mannava
Hibernate is one of the most popular Object Relational Mapper (ORM) libraries for Java and Spring applications. It helps developers connect to and work with relational databases from Java applications without having to write SQL queries. The library implements the JPA (Java Persistence API) specification and provides several additional features that help develop persistence in applications faster and easier.
Read full ArticleOne of the cool features supported by Hibernate is caching. Hibernate supports two levels of caching — L1 and L2. L1 cache is enabled by default and works within an application scope, so it cannot be shared across multiple threads. For example, if you have a scaled microservice application that reads and writes to a table in a relational database setup, this L1 cache is maintained individually within each of these containers where the microservice is running.
L2 cache is an external pluggable interface, using which we can cache frequently accessed data in an external caching provider via Hibernate. In this case, the cache is maintained out of session and can be shared across the microservice stack (in the above example).
Hibernate supports L2 cache with most of the popular caching providers like Redis, Ignite, NCache, etc.
Read full Article