An open API service indexing awesome lists of open source software.

https://github.com/coherence-community/coherence-hibernate

Coherence Hibernate Project
https://github.com/coherence-community/coherence-hibernate

cache coherence hibernate java oracle-coherence

Last synced: 12 months ago
JSON representation

Coherence Hibernate Project

Awesome Lists containing this project

README

          

:main-release-version: 3.0.3
:main-snapshot-version: 3.0.4-SNAPSHOT
:2x-release-version: 2.3.5
:2x-snapshot-version: 2.3.6-SNAPSHOT
:hibernate-docs: https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html
:website: https://docs.coherence.community/
:website-old: https://hibernate.coherence.community/

= Welcome to the Oracle Coherence Hibernate Project

image:https://github.com/coherence-community/coherence-hibernate/workflows/CI%20Coherence%20Hibernate/badge.svg[Build Status,link=https://github.com/coherence-community/coherence-hibernate/actions]
image:https://img.shields.io/badge/license-UPL%201.0-blue.svg[License,link=https://oss.oracle.com/licenses/upl/]
image:https://sonarcloud.io/api/project_badges/measure?project=coherence-community_coherence-hibernate&metric=alert_status[Quality Gate Status,link=https://sonarcloud.io/summary/new_code?id=coherence-community_coherence-hibernate]
image:https://img.shields.io/github/v/release/coherence-community/coherence-hibernate[GitHub release (latest by date)]
image:https://img.shields.io/badge/Coherence-Join%20Slack-red[Chat with us on slack,link=https://join.slack.com/t/oraclecoherence/shared_invite/zt-9ufv220y-Leudk0o5ntgNV0xraa8DNw]
image:https://img.shields.io/stackexchange/stackoverflow/t/oracle-coherence?label=%20StackOverflow%20%7C%20oracle-coherence[Stack Exchange questions,link=https://stackoverflow.com/questions/tagged/oracle-coherence]
image:https://img.shields.io/twitter/follow/OracleCoherence?style=social[Twitter Follow,link=https://twitter.com/OracleCoherence]

The Oracle Coherence Hibernate project implements integration points between Oracle Coherence/link:https://coherence.community[Coherence CE]
and the https://hibernate.org/orm/[Hibernate Object/Relational Mapping (ORM)] framework.

Two primary integration points are covered currently:

* using Coherence as a {hibernate-docs}#caching[second-level cache (2LC)] in Hibernate
* using Hibernate as a Coherence CacheStore implementation

Starting with Coherence Hibernate `3.x`, we support https://jakarta.ee/[Jakarta EE]. Coherence Hibernate `2.x` will
continue to support Java EE.

[width="75%", cols="1,1,1,1,^1,1"]
|===
|Coherence Hibernate | Java | Coherence CE | Hibernate | Jakarta | Git Branch/Tag

|*3.0.x* | `17` | `24.09` | `5.6`, `6.x` | ✔ | `main`
|*2.3.x* | `11` | `22.06` | `4.3` - `5.6` | | `2.3.x`
|===

=== Coherence Hibernate {main-release-version}

Due to Hibernate Cache API changes, Coherence Hibernate `{main-release-version}` provides dedicated Maven modules targeting
those Hibernate versions:

* `coherence-hibernate-cache-53` supports Hibernate `5.6.x`
* `coherence-hibernate-cache-6` supports Hibernate `6.x`

=== Coherence Hibernate {2x-release-version}

Due to Hibernate Cache API changes, Coherence Hibernate `{2x-release-version}` provides dedicated Maven modules targeting
those Hibernate versions:

* `coherence-hibernate-cache-4` supports Hibernate `4.3.x`
* `coherence-hibernate-cache-5` supports Hibernate `5.0.x` and `5.1.x`
* `coherence-hibernate-cache-52` supports Hibernate `5.2.x`
* `coherence-hibernate-cache-53` supports Hibernate `5.3.x`, `5.4.x`,`5.5.x` and `5.6.x`

== Documentation

Detailed project documentation is available on the {website}[Coherence Hibernate website]. This includes the reference documentation
as well as extensive JavaDoc for the Coherence Hibernate source code.

[width="75%"]
|=======
|*{main-release-version}* | {website}/coherence-hibernate/docs/latest/[Website] | https://docs.coherence.community/coherence-hibernate/docs/latest/api/index.html[API Doc.]
|*{main-snapshot-version}* | {website-old}{main-snapshot-version}[Website] | {website-old}{main-snapshot-version}/api/index.html[API Doc.]
|*{2x-release-version}* | {website-old}{2x-release-version}[Website] | {website-old}{2x-release-version}/api/index.html[API Doc.]
|*{2x-snapshot-version}* | {website-old}{2x-snapshot-version}[Website] | {website-old}{2x-snapshot-version}/api/index.html[API Doc.]
|=======

NOTE: The http://maven.apache.org[Apache Maven]-based snapshots and releases for this project are published to
https://repo1.maven.org/maven2/com/oracle/coherence/hibernate/[Maven Central].

== Supported Java & Coherence Versions

[width="75%", cols="1,1,1,^1,^1"]
|===
|Coherence Hibernate | Java | Coherence CE | Jakarta EE | Git Branch/Tag

|*{main-release-version}* | `17` | `24.09` | ✅ | `v{main-release-version}`
|*{main-snapshot-version}* | `17` | `24.09` | ✅ | `main`
|*{2x-release-version}* | `11` | `22.06.7` | | `v{2x-release-version}`
|*{2x-snapshot-version}* | `11` | `22.06.7` | | `2.3.x`
|===

== Supported Hibernate Versions

[width="75%", cols="1,1,1"]
|===
|Hibernate| Coherence Hibernate 2.3.x | Coherence Hibernate 3.0.x

|`4.3.x` | ✅ |
|`5.0` | ✅ |
|`5.1` | ✅ |
|`5.2` | ✅ |
|`5.3` | ✅ |
|`5.4` | ✅ |
|`5.5` | ✅ |
|`5.6` | ✅ | ✅
|`6.0` | | ✅
|`6.1` | | ✅
|`6.2` | | ✅
|`6.4` | | ✅
|`6.6` | | ✅
|===

== Samples

The reference documentation will also refer to various demo and sample applications. Those are part of this
repository, and you can find those in the https://github.com/coherence-community/coherence-hibernate/tree/main/samples[samples] module.

== Building from Source

=== Requirements

In order to build Coherence Hibernate (main branch), you need to have installed:

- https://www.oracle.com/java/technologies/downloads/#java17[JDK 17]
- https://help.github.com/set-up-git-redirect[Git]

=== Check out sources

Check out the project using https://git-scm.com/[Git]:

[source,bash,indent=0]
----
git clone https://github.com/coherence-community/coherence-hibernate.git
cd coherence-hibernate
----

Coherence Hibernate uses https://maven.apache.org/[Apache Maven] as build tool. You do not need to have Maven installed to
build the project. Simply use the provided https://github.com/takari/maven-wrapper[Maven Wrapper], e.g.:

- *Windows:* `mvnw.cmd clean package`
- *Linux/Mac:* `./mvnw clean package`

=== Build the entire project

Build the entire project using https://maven.apache.org/[Maven]:

[source,bash]
----
./mvnw clean package
----

==== Offline Builds

In case you are offline, and you run into issues building the project, e.g.
the Coherence cluster as part of JUnit tests does not start up successfully, then
you may have to provide additional command line arguments:

[source,bash]
----
./mvnw clean package -DargLine="-Dcoherence.localhost=127.0.0.1 -Djava.net.preferIPv4Stack=true"
----

=== Build the project website

[source,bash]
----
./mvnw clean install -pl coherence-hibernate-site
----

=== Deploy the project website

[source,bash]
----
./mvnw deploy -pl coherence-hibernate-site
----

== Getting Support

In case you have questions or if you run into issue using the Coherence Hibernate project, please feel free to reach out to
us either via:

- https://stackoverflow.com/tags/oracle-coherence[Stackoverflow] using the _oracle-coherence_ tag
- https://join.slack.com/t/oraclecoherence/shared_invite/zt-9ufv220y-Leudk0o5ntgNV0xraa8DNw[Slack]

Both support channels are monitored by the project community.

== Contributing

We would love to review your https://help.github.com/articles/creating-a-pull-request[Pull requests]. Please see the
link:CONTRIBUTING.adoc[contributor guidelines] for details.

== License

Coherence Hibernate is Open Source software released under link:LICENSE.TXT[The Universal Permissive License] (UPL), Version 1.0.