Redis based Hibernate Cache implementation
===
Implements Hibernate 2nd level Cache provider based on Redisson.
Supports all Hibernate cache strategies: `READ_ONLY`, `NONSTRICT_READ_WRITE`, `READ_WRITE` and `TRANSACTIONAL`.
Compatible with Hibernate 4.x, 5.x
Please consider __[Redisson PRO](https://redisson.pro)__ version for advanced features and support by SLA.
Usage
===
### 1. Add `redisson-hibernate` dependency into your project:
1. __For JDK 1.8+__
Maven
```xml
org.redisson
redisson-hibernate-4
redisson-hibernate-5
redisson-hibernate-52
redisson-hibernate-53
3.10.0
```
Gradle
```java
// for Hibernate v4.x
compile 'org.redisson:redisson-hibernate-4:3.10.0'
// for Hibernate v5.0.x - v5.1.x
compile 'org.redisson:redisson-hibernate-5:3.10.0'
// for Hibernate v5.2.x
compile 'org.redisson:redisson-hibernate-52:3.10.0'
// for Hibernate v5.3.x
compile 'org.redisson:redisson-hibernate-53:3.10.0'
```
2. __For JDK 1.6+__
Maven
```xml
org.redisson
redisson-hibernate-4
redisson-hibernate-5
2.15.0
```
Gradle
```java
// for Hibernate v4.x
compile 'org.redisson:redisson-hibernate-4:2.15.0'
// for Hibernate v5.0.x - v5.1.x
compile 'org.redisson:redisson-hibernate-5:2.15.0'
```
### 2. Specify hibernate cache settings
```xml
```
Redisson allows to define follow cache settings per entity, collection, naturalid, query and timestamp regions:
`eviction.max_entries` - max size of cache. Superfluous entries are evicted using LRU algorithm. `0` value means unbounded cache. Default value: 0
`expiration.time_to_live` - time to live per cache entry in milliseconds. `0` value means this setting doesn't affect expiration. Default value: 0
`expiration.max_idle_time` - max idle time per cache entry in milliseconds. `0` value means this setting doesn't affect expiration. Default value: 0
Configuration examples:
```xml
```