尝试从索引表中获取数据会产生-java.lang.NoSuchMethodError:org.hibernate.query.internal.ParameterMetadataImpl

问题描述

在索引表之后,我尝试从休眠搜索中检索数据,并且尝试进行搜索时,即使一切看起来都很完美,我也会收到此错误。我用谷歌搜索并找到了这个解决方How to fix "NoSuchMethodError ParameterMetadataImpl <init>,但仍无法解决问题, java.lang.NoSuchMethodError:org.hibernate.query.internal.ParameterMetadataimpl。([[Lorg / hibernate / engine / query / spi / OrdinalParameterDescriptor; Ljava / util / Map;)V

这是我完整的pom.xml文件

        <!--<dependency>-->
           <!--<groupId>org.hibernate</groupId>-->
           <!--<artifactId>hibernate-search-orm</artifactId>-->
           <!--<version>5.6.0.Final</version>-->
        <!--</dependency>-->

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
            </dependency>

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-orm</artifactId>
                <version>5.8.2.Final</version>
            </dependency>
        
        


</project>

请协助

解决方法

您使用的Hibernate Search版本太旧了,与Spring Boot提供的Hibernate ORM版本不兼容。

您应检查compatibility matrix on the Hibernate website并相应选择Hibernate Search版本。

Spring Boot 2.1.4。发行版uses Hibernate ORM 5.3.9.Final。根据兼容性矩阵,对于Hibernate ORM 5.3.x,应使用Hibernate Search5.10.x。如here所示,当前5.10系列的最新版本为5.10.9.Final

因此,请更改此内容:

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-orm</artifactId>
                <version>5.8.2.Final</version>
            </dependency>

对此:

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-orm</artifactId>
                <version>5.10.9.Final</version>
            </dependency>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...