Skip to content

Latest commit

 

History

History
124 lines (102 loc) · 4.51 KB

integrations.asciidoc

File metadata and controls

124 lines (102 loc) · 4.51 KB

Standards and integrations

Jakarta EE

When standard APIs are involved, Hibernate Search targets Jakarta EE by default.

Java EE

Hibernate Search includes legacy support for Java EE, and it requires only one small change: when declaring the dependencies of your project, you must add -javaee to some artifact identifiers.

For example, an application using Hibernate ORM and the Elasticsearch backend will need to update its dependencies as follows:

<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core-javaee</artifactId> <!--(1)-->
   <version>{hibernateVersion}</version>
</dependency>
<dependency>
   <groupId>org.hibernate.search</groupId>
   <artifactId>hibernate-search-mapper-orm-javaee</artifactId> <!--(2)-->
   <version>{hibernateSearchVersion}</version>
</dependency>
<dependency>
   <groupId>org.hibernate.search</groupId>
   <artifactId>hibernate-search-backend-elasticsearch</artifactId> <!--(3)-->
   <version>{hibernateSearchVersion}</version>
</dependency>
  1. Replaces hibernate-core.

  2. Replaces hibernate-search-mapper-orm.

  3. No replacement necessary: this artifact does not rely on Jakarta EE.

All artifacts relying directly or indirectly on Jakarta EE must be replaced with their Java EE counterpart. This includes in particular:

  • Hibernate ORM artifacts

  • hibernate-search-mapper-ormhibernate-search-mapper-orm-javaee

  • hibernate-search-mapper-orm-batch-jsr352-corehibernate-search-mapper-orm-batch-jsr352-core-javaee

  • …​

Artifacts that do not rely on Jakarta EE at all, on the other hand, do not have a Java EE counterpart and must not be replaced. These artifacts should be excluded from your replacements in particular:

  • hibernate-search-engine

  • hibernate-search-backend-lucene

  • hibernate-search-backend-elasticsearch

  • hibernate-search-backend-elasticsearch-aws

  • …​

Hibernate ORM 6

Hibernate Search includes experimental support for Hibernate ORM 6, and it requires only one small change: when declaring the dependencies of your project, you must add -orm6 to some artifact identifiers.

Warning

The experimental support for Hibernate ORM 6 in Hibernate Search {hibernateSearchVersion} targets Hibernate ORM version {hibernateOrm6Version}.

Newer versions of Hibernate ORM 6 may introduce breaking changes, in which case they will no longer be compatible with the experimental support for Hibernate ORM 6 in Hibernate Search {hibernateSearchVersion}, until Hibernate Search catches up in its next release.

For example, an application using Hibernate ORM 6 and the Elasticsearch backend will need to update its dependencies as follows:

<dependency>
   <groupId>org.hibernate.orm</groupId> <!--(1)-->
   <artifactId>hibernate-core</artifactId>
   <version>{hibernateOrm6Version}</version>
</dependency>
<dependency>
   <groupId>org.hibernate.search</groupId>
   <artifactId>hibernate-search-mapper-orm-orm6</artifactId> <!--(2)-->
   <version>{hibernateSearchVersion}</version>
</dependency>
<dependency>
   <groupId>org.hibernate.search</groupId>
   <artifactId>hibernate-search-backend-elasticsearch</artifactId> <!--(3)-->
   <version>{hibernateSearchVersion}</version>
</dependency>
  1. Replaces org.hibernate:hibernate-core; notice how the groupId changed in Hibernate ORM 6.

  2. Replaces hibernate-search-mapper-orm.

  3. No replacement necessary: this artifact does not rely on Java EE or Hibernate ORM.

All artifacts relying directly or indirectly on Java EE or Hibernate ORM must be replaced with their ORM 6 counterpart. This includes in particular:

  • Hibernate ORM artifacts

  • hibernate-search-mapper-ormhibernate-search-mapper-orm-orm6

  • hibernate-search-mapper-orm-batch-jsr352-corehibernate-search-mapper-orm-batch-jsr352-core-orm6

  • …​

Artifacts that do not rely on Java EE or Hibernate ORM at all, on the other hand, do not have an ORM 6 counterpart and must not be replaced. These artifacts should be excluded from your replacements in particular:

  • hibernate-search-engine

  • hibernate-search-backend-lucene

  • hibernate-search-backend-elasticsearch

  • hibernate-search-backend-elasticsearch-aws

  • …​