Hibernate Second-Level Cache

Hazelcast Platform smoothly integrates with Hibernate 3 and Hibernate 4, providing distributed caching support based on Hazelcast IMap technology. Features like scalability, in-memory backups, and automatic eviction are fundamentals of the Hazelcast architecture. Hazelcast brings those features to the Hibernate world.

See Hazelcast in Action

Master intelligent applications with Hazelcast unified real-time stream processing platform.

Introduction

Hibernate and Java

Hibernate is a well-known and commonly used Object-Relational Mapping (ORM) library for the Java language.

As a fully compliant JPA (Java Persistence API) persistence provider, Hibernate integrates seamlessly into both Java Enterprise Edition application servers and pure Java Standard Edition applications. Hibernate lets you easily and quickly access relational data by providing mapping mechanisms from relational database tables, rows, columns, and foreign keys to your annotated Java classes. Hibernate generates your SQL queries with an easy-to-use syntax that queries data based on the Java object-oriented domain model.

First-level Caching

Hibernate ships with a first-level cache associated with the session object to reduce the number of SQL queries directly to the database. Each session object caches data independently of the others, so there is no sharing of cached data across sessions, nor will the cached data remain if the session closes.

Second-level Caching

The Hibernate second-level cache offers the ability to plug in a caching technology to complement the first-level cache. The second-level cache shares cached data across sessions from the Session Factory, which means all users can benefit from the cached data, even if the session that inserted the data into the second-level cache closes. This is especially useful for high-volume web applications that have high commonality across users in terms of SQL queries to the database. And with larger caches, you get more cached data and thus can expect more acceleration.

Using Hazelcast with Hibernate

Hazelcast provides multiple ways for you to use Hibernate, depending on your deployment strategies, security aspects, or usage patterns. You can use Hazelcast Platform as a client-server or a cluster-only architecture.

Hazelcast Platform has a built-in integration with Hibernate to easily plug in caching. And it is more than just a simple cache for your Hibernate environment, as it provides capabilities to run a high-volume production web application that has business-critical requirements.

Performance

Hazelcast Platform is designed to deliver the highest throughput and lowest latencies. Benchmark reports show we are faster than other popular in-memory technologies.

Security

Hazelcast Platform provides authentication, authorization, and encryption capabilities to ensure your data is protected from unauthorized access.

Elasticity and Scalability

Hazelcast Platform elastically scales by expanding or shrinking the cache to accommodate your needs. You can grow your Hazelcast cluster to extremely large sizes, so you can use it for multiple purposes at the same time including application caching, batch processing, and stream processing, in addition to the Hibernate second-level cache.

Reliability

Hazelcast Platform has built-in replication for high availability as well as disaster recovery to ensure business continuity of the high speed caching layer. Also, you can use the WAN replication feature to distribute cached data across remote locations to put the data near the end users.

Solutions: Hazelcast Platform

The most comprehensive solution for data at rest and data in motion

Hazelcast Platform

The Hazelcast Platform is a software technology that unifies transactional, operational, and analytical workloads by combining stream processing with in-memory computing. Hazelcast is the fastest solution for merging real-time streaming and historical data from any sources.

In-memory data grids are designed to provide high-availability and scalability by distributing data across multiple machines. Hazelcast enriches applications by providing capabilities to quickly process, store, and access data with the speed of RAM.

The platform also leverages an application embeddable, distributed stream processing platform for building IoT and microservices-based applications. The Hazelcast architecture is high-performance and low-latency-driven, based on a parallel, distributed core engine enabling data-intensive applications to operate at real-time speeds.

Hazelcast Managed Service

The benefits of moving to the cloud are well known and applicable to virtually every industry. Hazelcast offers our customers the flexibility to deploy to the cloud on their terms, whether it's a dedicated cloud, on-premise cloud, hybrid cloud, or private cloud.

In-Memory Store and Cache

High-Density Memory Store adds the ability for Hazelcast Platform to store very large amounts of cached data in Hazelcast members (servers) and in the Hazelcast Client (near cache), limited only by available RAM for extreme scale-up.

Stream Processing

Stream processing is how Hazelcast processes data on-the-fly, prior to storage, rather than batch processing, where the data set has to be stored in a database before processing. This approach is vital when the value of the information contained in the data decreases rapidly with age. The faster information is extracted from data, the better.