Hibernate-Search 6和Elasticsearch集成

我正在使用Hibernate Search应用程序,并且尝试使用版本6(目前处于beta版)。我遵循了https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#getting-started-configuration

中的所有说明和文档

尝试启动我的应用程序后,出现下一个错误:

我看过Google,似乎是我是世界上第一个面临此问题的人。

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.hibernate.search.mapper.orm.mapping.impl.HibernateOrmIndexedTypeContext.<init>(HibernateOrmIndexedTypeContext.java:35)

The following method did not exist:

    org.hibernate.metamodel.spi.MetamodelImplementor.entity(Ljava/lang/Class;)Lorg/hibernate/metamodel/model/domain/spi/EntityTypeDescriptor;

It was loaded from the following location:

    file:/home/myUser/.m2/repository/org/hibernate/hibernate-core/5.3.11.Final/hibernate-core-5.3.11.Final.jar


action:

Correct the classpath of your application so that it contains a single,compatible version of org.hibernate.metamodel.spi.MetamodelImplementor

有什么解决方法的想法吗?,在我的应用程序中,我正在使用Spring boot和jpa。

nanhuathyy98 回答:Hibernate-Search 6和Elasticsearch集成

here in the documentation所示,Hibernate Search 6.0.0.Beta2需要Hibernate ORM 5.4.7.Final或更高版本。您正在使用Hibernate ORM 5.3.11.Final。

我认为Spring Boot 2.1随ORM 5.3一起提供,所以这可能就是您所使用的。

最好的做法是升级到Hibernate ORM 5.4附带的Spring Boot 2.2.1.RELEASE。

如果这不可能,您仍然可以继续使用Spring Boot 2.1,并在您的POM中直接覆盖Hibernate ORM的版本:据我所知,它在Spring Boot 2.1中运行得很好。

只需在您的POM中设置此属性:

    <properties>
        <!-- Override the version of Hibernate ORM in Spring Boot -->
        <hibernate.version>5.4.7.Final</hibernate.version>
    </properties>

请注意,从技术上讲,Hibernate ORM 5.4.4.Final之后的任何版本都可以使用,但坚持使用经过测试的Hibernate Search版本通常更安全。

本文链接:https://www.f2er.com/3119751.html

大家都在问